我一直在向代码中添加docblock,并解决了phpdocumentor脚本生成并放入errors.html文件中的大多数生成错误和警告。
但是,我在当前的文档构建中有最后一个警告“类”-我在应用程序中记录的每个继承自外部库(在本例中为zend)的类都会收到警告。
有没有办法阻止像Warning - Class AMH_Controller_Action parent Zend_Controller_Action not found
这样的警告出现?如何通知phpdoc父库来自外部库,并可能提供到zend文档的引用链接?
最佳答案
phpdocumentor本身没有处理此用例的本机选项。我过去所做的是创建一个虚拟文件,其中包含所有“未找到”类的空类声明,将这些类标记为“@package donotdocument”,并使用runtime--package output参数[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类被记录,因为在运行时--packageoutput参数中没有列出它们固有的@package值(例如“zend_controller”)。
[1]--http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_phpDocumentor.howto.pkg.html#using.command-line.packageoutput