bugadani / annotiny
一个用PHP编写的简单注释库。
Requires
- php: >=5.5
This package is not auto-updated.
Last update: 2024-09-14 17:11:14 UTC
README
Annotiny
Annotiny是一个小型库,旨在读取和解析文档注释。
使用方法
要创建AnnotationReader对象,必须提供合适的解析器。
$parser = new \Annotiny\AnnotationParser(new \Annotiny\AnnotationContainer);
$annotationReader = new \Annotiny\AnnotationReader($parser, $factory);
注释有四个公开方法:readClass($class)、readFunction($function)、readMethod($class, $method)和readProperty($class, $property)。这些函数按照预期工作,例如readMethod读取并解析类或对象的文档注释。
注释对象
read*方法的结果数据结构是一个Comment实例。注释包含文档注释的描述和解析的标签。
注释提供了一些有用的方法来处理注释标签。
has($tag)检查标签是否存在get($tag)检索标签值equals($tag, $value)检查$tag的值是否等于$valuecontains($tag, $value)检查$value是否存在于注释的参数列表中containsAll($tag, $value_array)检查$value_array中的每个成员是否存在getDescription()返回注释的描述部分
如果未找到标签,将抛出OutOfBoundsException异常。
注释语法
文档注释直接位于要注释的类、函数、方法或属性之上(例如,它们之间没有空白行)。注释从/**开始,并以*/结束。每行可以可选地以星号(*)开始。
注释从描述部分开始,该部分以@tag结束。
示例
/** This is a one-liner */
/**
* Multiple lines
*
* @annotation
*/
注释语法
注释标签以at符号(@)开头,并且它们从新的一行开始。标签名可以由字母、数字、破折号(-)和下划线(_)组成,但必须至少以一个字母开头。以下是不合法的标签名示例:@1tag、@-tag。
存在三种类型的注释
- 没有值的简单注释(
@tag) - 后面跟有值的注释(
@tag that has a value)。 - 后面跟有参数列表的注释(
@tag(value, 'other value'))。
值由逗号分隔的字符串组成。在第二种情况下只允许一个值,逗号及其后的文本将被丢弃。第三种情况允许多个值,这些值由逗号分隔。要允许值中的逗号和换行符,只需将其用单引号(')或双引号(")括起来。
如果有多个同名的注释存在,它们的值将汇总到一个数组中。在这种情况下,没有值的注释将被忽略。
注意:在参数列表语法中支持命名参数。在这种情况下,一个=符号将名称和值分开。
示例
@tag@tag value@tag "some value"@tag()@tag(simple value)@tag(multiple, values)@tag(name='value')