我希望能够在我的PHP5对象中实现自定义注释,并且我想通过构建自己的解析器来了解整个过程是如何工作的。
首先,我需要知道如何查找注释。
是否存在我缺少的反射方法,还是有其他方法?
例如,我希望能够在类中找到以下注释:
/**
* @MyParam: myvalue
*/
答案 0 :(得分:45)
您可以使用ReflectionClass::getDocComment
执行此操作,例如:
function getClassAnnotations($class)
{
$r = new ReflectionClass($class);
$doc = $r->getDocComment();
preg_match_all('#@(.*?)\n#s', $doc, $annotations);
return $annotations[1];
}
答案 1 :(得分:9)
您可以使用getDocComment Reflection对象方法获取评论块。
如果您不想手动检索注释,可以使用Zend Framework Reflection或其他现有解决方案