Library for parsing property types defined using @var PHPDoc annotation

Library for parsing property types defined using @var PHPDoc annotation

README

Build Status
Coverage Status PHP7
License

Library for parsing type expressions and/or property types defined using var PHPDoc annotation almost as defined in PSR-5 specification draft, just a little bit more permissive. It also supports merging two (or more) types like int|string -> scalar or string|int -> scalar

PSR-5 ABNF: https://github.com/phpDocumentor/fig-standards/blob/master/proposed/phpdoc.md#user-content-abnf

Example

<?php
use DoctrineCommonCacheFilesystemCache;
use VanioTypeParserCachingParser;
use VanioTypeParserTestsFixturesFoo;
use VanioTypeParserTypeParser;

$typeParser = new CachingParser(new TypeParser, new FilesystemCache(__DIR__ . '/cache'));
$type = $typeParser->parsePropertyTypes(Foo::class);
$type['scalar']->type(); // /** @var int|string */ -> new CompoundType(Type::INTEGER, Type::STRING) -> new SimpleType(Type::SCALAR)

Source

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *