webmasterapp / phpdoc-reader
PhpDocReader 解析 PHP 文档块中的 @var 和 @param 值(支持与 PHP 相同的命名空间类名解析规则)
2.1.1.1
2019-11-23 19:52 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- phpunit/phpunit: ~4.6
This package is auto-updated.
Last update: 2024-09-24 07:37:24 UTC
README
此项目由以下项目使用
将 README 分支出来以在此处添加您的项目。
功能
PhpDocReader 解析 PHP 文档块中的 @var
和 @param
值
use My\Cache\Backend;
class Cache
{
/**
* @var Backend
*/
protected $backend;
/**
* @param Backend $backend
*/
public function __construct($backend)
{
}
}
它支持与 PHP 相同的解析规则进行命名空间类名
- 完全限定名称(以
\
开头) - 导入的类名(例如
use My\Cache\Backend;
) - 相对类名(从当前命名空间,例如
SubNamespace\MyClass
) - 别名类名(例如
use My\Cache\Backend as FooBar;
)
原始类型(如 @var string
)被忽略(返回 null),只返回有效的类名。
用法
$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);