ThoroughPHP / TypeGuard

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

License:MIT License


Languages

Language:PHP 100.0%