php-di / phpdoc-reader
PhpDocReader 解析 PHP 文档块中的 @var 和 @param 值(支持具有与 PHP 相同解析规则的命名空间类名)
2.2.1
2020-10-12 12:39 UTC
Requires
- php: >=7.2.0
Requires (Dev)
- mnapoli/hard-mode: ~0.3.0
- phpunit/phpunit: ^8.5|^9.0
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([$className, $methodName], $parameterName); $parameterClass = $reader->getParameterClass($parameter);