grajewsky / annotations
PHP 注释读取器 OOP
v1.2.3
2019-10-13 22:33 UTC
Requires (Dev)
- phpstan/phpstan: ^0.11.16
- phpunit/phpunit: 7
This package is auto-updated.
Last update: 2024-09-29 05:28:26 UTC
README
快速使用
use \Annotations\Annotations; /** * @Sample value=1 * @SampleTest value=1, test=2 **/ class EntityTestClass { /** * @Test */ private $test = 1; } $annotations = Annotations::read(EntityTestClass::class); print_r($annotations->annotations(Annotations::ALL_ANNOTATIONS));
关于结构
声明 $a = Annotations::read(EntityTestClass::class); 返回 Annotations 类,您可以调用 $a->annotations($accessor) 方法,其中参数是字符串键,值是
- 传递常量
Annotations::ALL_ANNOTATIONS- 所有注释(类和属性/方法)的结果是Array - 传递常量
Annotations::CLASS_ANNOTATIONS- 访问器返回 Array- 类的注释 - 传递属性名或方法以返回注释
输出
Array
(
[class] => Array
(
[Sample] => Annotations\Domains\Annotation Object
(
[fields:Annotations\Domains\Annotation:private] => Array
(
[value] => 1
)
[name:Annotations\Domains\Annotation:private] => Sample
)
[SampleTest] => Annotations\Domains\Annotation Object
(
[fields:Annotations\Domains\Annotation:private] => Array
(
[value] => 1
[test] => 2
)
[name:Annotations\Domains\Annotation:private] => SampleTest
)
)
[test] => Array
(
[ORM] => Annotations\Domains\Annotation Object
(
[fields:Annotations\Domains\Annotation:private] => Array
(
[table] => entity
)
[name:Annotations\Domains\Annotation:private] => ORM
)
[Test] => Annotations\Domains\Annotation Object
(
[fields:Annotations\Domains\Annotation:private] => Array
(
)
[name:Annotations\Domains\Annotation:private] => Test
)
)
)