Extracts PHP types information.

7.1.x-dev 2024-04-18 14:35 UTC

This package is auto-updated.

Last update: 2024-04-18 14:47:11 UTC


The TypeInfo component extracts PHP types information.

Getting Started

composer require symfony/type-info
composer require phpstan/phpdoc-parser # to support raw string resolving

use Symfony\Component\TypeInfo\Type;
use Symfony\Component\TypeInfo\TypeResolver\TypeResolver;

// Instantiate a new resolver
$typeResolver = TypeResolver::create();

// Then resolve types for any subject
$typeResolver->resolve(new \ReflectionProperty(Dummy::class, 'id')); // returns an "int" Type instance
$typeResolver->resolve('bool'); // returns a "bool" Type instance

// Types can be instantiated thanks to static factories
$type = Type::list(Type::nullable(Type::bool()));

// Type instances have several helper methods
$type->getBaseType() // returns an "array" Type instance
$type->getCollectionKeyType(); // returns an "int" Type instance
$type->getCollectionValueType()->isNullable(); // returns true