abryb / parameter-info
Resolve method parameter type.
Installs: 108
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/abryb/parameter-info
Requires
- php: ^7.3
- phpdocumentor/reflection-docblock: ^4.3
README
Installation
composer require abryb/parameter-info
Usage
<?php use Abryb\ParameterInfo\ParameterInfoExtractorFactory; $extractor = ParameterInfoExtractorFactory::create(); /** * @param object|null $a0 very object description. Important! * @param \DateInterval[]|\DateTime[]|iterable $a1 */ $function = function ($a0, iterable $a1) { // ... }; $parameters = $extractor->getMethodParameters(new \ReflectionFunction($function)); $parameters[0]->getDescription(); // very object description. Important! $parameters[0]->getTypes()[0]->getBuiltinType(); // object $parameters[0]->getTypes()[0]->isNullable(); // true $parameters[0]->getTypes()[0]->getClassName(); // null $parameters[0]->getTypes()[0]->isCollection(); // false $parameters[1]->getTypes()[0]->getBuiltinType(); // iterable $parameters[0]->getTypes()[0]->isCollection(); // true $parameters[1]->getTypes()[0]->getCollectionValueType()->getClassName(); // DateTime $parameters[1]->getTypes()[1]->getCollectionValueType()->getClassName(); // DateInterval