radebatz / type-info-extras
Extras for symfony/type-info
1.0.7
2026-03-06 22:40 UTC
Requires
- php: >=8.2
- phpstan/phpdoc-parser: ^2.0
- symfony/type-info: ^7.3.8 || ^7.4.1 || ^8.0 || ^8.1-@dev
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.70
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^11.0
README
TypeInfoExtras
Library adding some extra features to the Symfony Type Info component.
Compatible with Symfony type-info:7.3.8+, type-info:7.4.1+, type-info:8.0+ and type-info:8.1+.
Basic Usage
<?php use Radebatz\TypeInfoExtras\TypeResolver\StringTypeResolver as ExtraStringTypeResolver; $resolver = new ExtraStringTypeResolver(); $type = $resolver->resolve('html-escaped-string'); echo get_class($type); // Radebatz\TypeInfoExtras\Type\ExplicitType echo $type->getExplicitType() // "html-escaped-string" $type = $resolver->resolve('class-string<Foo>'); echo get_class($type); // Radebatz\TypeInfoExtras\Type\ClassLikeType echo $type->getExplicitType(); // "class-string" echo get_class($type->getObjectType()); // Symfony\Component\TypeInfo\Type\ObjectType echo $type->getObjectType(); // Foo $type = $resolver->resolve('int<5,20>'); echo get_class($type); // Radebatz\TypeInfoExtras\Type\IntRangeType
If your code is doing instanceof checks on the returned Type, then you will need to add another case and treat
Radebatz\TypeInfoExtras\Tests\Type\ExplicitType same as BuiltinType.