如何在PHP5对象中查找注释?

2022-08-30 16:57:28

我希望能够在我的PHP5对象中实现自定义注释,并且我想通过构建自己的解析器来了解整个过程是如何工作的。

但是,首先,我需要知道如何找到注释。

是否有我缺少的反射方法,或者有其他方法?

例如,我希望能够在类中找到以下注释:

/**
 * @MyParam: myvalue
 */

答案 1

您可以使用ReflemClass::getDocComment来执行此操作,例如:

function getClassAnnotations($class)
{       
    $r = new ReflectionClass($class);
    $doc = $r->getDocComment();
    preg_match_all('#@(.*?)\n#s', $doc, $annotations);
    return $annotations[1];
}

现场演示:http://codepad.viper-7.com/u8bFT4


答案 2

您可以使用 getDocComment Reflection 对象方法获取注释块。

如果您不想手动检索注释,可以使用Zend框架反射或其他现有解决方案


推荐