在 Zend Framework(或其扩展)等框架中,有时可以使用 PHPDoc 样式注释将类型提示等信息传递给框架代码。
我无法想象框架使用 PHP 解析文件,但我没有看到任何其他方法来实现这一点,除了 PHP 的一些内置语言功能,我不知道。那么这是怎么做到的呢?
他们使用反射,尤其是ReflectionMethod::getDocComment()
(还有ReflectionClass::getDocComment()
,ReflectionProperty::getDocComment()
和ReflectionFunction::getDocComment()
)。剩下的很简单:只需用一些正则表达式或类似的东西解析文档块。