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