tebru / doctrine-annotation-reader
提供用于读取Doctrine注解的更简洁的API
v0.3.7
2020-01-02 18:37 UTC
Requires
- php: >=7.1
- doctrine/annotations: ^1.2
- psr/simple-cache: ^1.0
Requires (Dev)
- phpunit/phpunit: ^7.0
- symfony/cache: ^4.0
README
此库封装了一个Doctrine注解读取器,以便提供解析类和接口注解的更简洁的接口。
AbstractAnnotation
这是必须从中扩展以使用此库的基类。
如果注解数据模式与单个值键不同,请重写 init
。如果允许存储此注解的多个实例,请重写 allowMultiple
并返回 true。如果您想使用与类名不同的名称,请重写 getName
。
AnnotationReaderAdapter
此类接受Doctrine Reader
接口和Doctrine CacheProvider
。它有三个有趣的公共方法。每个都返回一个 AnnotationCollection
。
readClass
方法接受类名和 $useParent
作为参数。如果 $useParent
为 true,则读取器将查看超类或所有接口,如果提供的类是接口。
readMethod
和 readProperty
操作相同。它们都接受方法或属性的名称、类名、$useParent
和 $useClass
作为参数。与 readClass
一样,$useParent
参数工作方式相同。如果 $useClass
为 true,则还会继承类的注解。如果 $useParent
为 true,则还会添加父类的注解。
如果不允许多个注解,则在找到重复时将忽略它。这允许方法覆盖类级别的注解,例如。
AnnotationCollection
这是由读取器返回的。您可以使用 get
获取单个注解,使用 getAll
获取允许多个注解的注解,它返回一个数组。两种方法都接受注解名称作为参数,该参数由注解定义,默认为类名。