joh*_*ack 20 php parsing annotations docstring
我希望能够在PHP5对象中实现自定义注释,并且我想通过构建自己的解析器来了解整个过程是如何工作的.
但是,首先,我需要知道如何查找注释.
有没有我想念的反射方法,还是有另一种方法?
例如,我希望能够在类中找到以下注释:
/**
* @MyParam: myvalue
*/
Run Code Online (Sandbox Code Playgroud)
Rob*_*bik 45
您可以使用以下ReflectionClass::getDocComment
示例执行此操作:
function getClassAnnotations($class)
{
$r = new ReflectionClass($class);
$doc = $r->getDocComment();
preg_match_all('#@(.*?)\n#s', $doc, $annotations);
return $annotations[1];
}
Run Code Online (Sandbox Code Playgroud)
现场演示:http://codepad.viper-7.com/u8bFT4