mnapoli/ phpdocreader
此包已被弃用且不再维护。作者建议使用 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 解析 @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);