havocera 17d3d24b6d 提交vendor | 1 year ago | |
---|---|---|
.. | ||
.github | 1 year ago | |
src | 1 year ago | |
.gitattributes | 1 year ago | |
.gitignore | 1 year ago | |
.phpcs.xml.dist | 1 year ago | |
LICENSE | 1 year ago | |
README.md | 1 year ago | |
composer.json | 1 year ago |
This project is used by:
Fork the README to add your project here.
PhpDocReader parses @var
and @param
values in PHP docblocks:
use My\Cache\Backend;
class Cache
{
/**
* @var Backend
*/
protected $backend;
/**
* @param Backend $backend
*/
public function __construct($backend)
{
}
}
It supports namespaced class names with the same resolution rules as PHP:
\
)use My\Cache\Backend;
)SubNamespace\MyClass
)use My\Cache\Backend as FooBar;
)Primitive types (@var string
) are ignored (returns null), only valid class names are returned.
$reader = new PhpDocReader();
// Read a property type (@var phpdoc)
$property = new ReflectionProperty($className, $propertyName);
$propertyClass = $reader->getPropertyClass($property);
// Read a parameter type (@param phpdoc)
$parameter = new ReflectionParameter(array($className, $methodName), $parameterName);
$parameterClass = $reader->getParameterClass($parameter);