当我从外部库类继承时,如何在phpDocumentor解析器中停止警告?

时间:2011-06-14 06:21:59

标签: php zend-framework documentation documentation-generation phpdoc

我一直在为我的代码添加docblock,并解决了phpDocumentor脚本生成并放入errors.html文件的大部分构建错误和警告。

但是,我在当前的文档构建中有最后一个“类”警告 - 我在我的应用程序中记录的每个类都会收到警告,这些类继承自外部库(在本例中为Zend)。

有没有办法阻止Warning - Class AMH_Controller_Action parent Zend_Controller_Action not found等警告发生?如何通知phpDoc父文件来自外部库并可能提供Zend文档的参考链接?

1 个答案:

答案 0 :(得分:2)

phpDocumentor本身没有处理此用例的本机选项。我过去所做的就是创建一个虚拟文件,其中包含所有“未找到”类的空类声明,标记这些类,如“@package DoNotDocument”,并使用运行时--packageoutput参数[1] 没有列出要包含在输出文档中的包列表中的“DoNotDocument”。当然,这是一个黑客,但效果是:

a)避免“未找到”警告(因为班级现在“存在”),

而b)没有为虚拟类创建任何文档。

/**
 * @package DoNotDocument
 */
class Zend_Controller_Action {}

phpdoc -d ./src -t ./docs -po MyPackage1,MyPackage2

现在,如果您的类确实扩展了ZF类,那么需要考虑一下您的文档。通过不让phpDocumentor解析这些ZF源,您的类的API文档将不会显示从这些ZF父项继承的方法等。如果这是我的代码库,我会允许phpDocumentor解析ZF文件,但是会避免让记录的ZF类在运行时列出其固有的@package值(例如“Zend_Controller”) - -packageoutput参数。

[1] - http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_phpDocumentor.howto.pkg.html#using.command-line.packageoutput