Skip to content

Latest commit

 

History

History
43 lines (29 loc) · 1.27 KB

README.md

File metadata and controls

43 lines (29 loc) · 1.27 KB

TypeGuard - PHP type validation partly inspired by Ceylon Union and Intersection types

Build Status Coverage Status License: MIT PHPStan

Features

TypeGuard can validate:

  • Scalar types: string, integer, etc.:
(new TypeGuard('string'))->match('foo'); // => true
  • Object types: ArrayAccess, stdClass, etc.:
(new TypeGuard('stdClass'))->match(new stdClass()); // => true
  • Union types: string|integer:
$guard = new TypeGuard('string|integer');
$guard->match('foo'); // => true
$guard->match(1); // => true
  • Intersection types: ArrayAccess&Countable:
(new TypeGuard('ArrayAccess&Countable'))->match(new ArrayIterator()); // => true
  • Optional types: ?string:
(new TypeGuard('?string'))->match(null); // => true