Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自动生成PHP文档?_Php_Documentation_Documentation Generation - Fatal编程技术网

自动生成PHP文档?

自动生成PHP文档?,php,documentation,documentation-generation,Php,Documentation,Documentation Generation,对于ActionScript2,我使用了。然而,它对PHP的支持非常差。到目前为止,我已经看过了和,但在我看来,它们的输出非常糟糕。有没有人有过PHP文档自动生成的经验?我希望能够使用javadoc样式的标记,它们写起来很短,而且容易记住。如果丑陋是个问题,我会将样式表切换为自定义样式表。如果不想覆盖生成的文件,可以使用Firefox插件,如。phpDocumentor可以以类似于php.net文档的样式输出(以及内置smarty和非smarty布局)您可以编辑模板文件,添加自己的样式表以覆盖现

对于ActionScript2,我使用了。然而,它对PHP的支持非常差。到目前为止,我已经看过了和,但在我看来,它们的输出非常糟糕。有没有人有过PHP文档自动生成的经验?我希望能够使用javadoc样式的标记,它们写起来很短,而且容易记住。

如果丑陋是个问题,我会将样式表切换为自定义样式表。如果不想覆盖生成的文件,可以使用Firefox插件,如。

phpDocumentor可以以类似于php.net文档的样式输出(以及内置smarty和非smarty布局)

您可以编辑模板文件,添加自己的样式表以覆盖现有的样式表。

有两个著名且常用的工具可以从docblock生成API文档:

  • ,它是特定于PHP的,可能是PHP项目中最常用的工具之一
  • 而且,这更适合C语言,但有些人将其用于PHP

关于“指南”:我想说这取决于你的项目,但至少我希望看到:

  • 方法/函数功能的描述
  • 参数,带有参数的
    @param类型名称说明
  • 返回值,带有返回值的返回类型说明
  • 异常,具有可引发的异常的类型描述
一件很棒的事情是,最近的IDE(例如)可以读取和解释这些标记,以便在编码时提供提示;-)


此外,越来越多的PHP工具将PHP docblocks用于文档以外的其他用途


例如,PHPUnit允许您使用一些特定的标记来指定一些与测试相关的内容——请参阅。

PHPDoc可能与您在Javadoc风格的内联注释中所得到的一样好。您可能还想看看。

Wordpress代码库是使用phpdoc标记记录的(请参阅),它通常非常好-它是使用

我编写的大部分代码都是在.Net中完成的,我需要考虑自动生成文档,因此我不能给出文档作者的很多观点,尽管是的,phpDocumentor()是PHP自动文档的一个可接受的标准工具。这是事实上的标准

在编写PHP代码文档时,遵循JavaDoc的通用代码指南是可以接受的。但是,您将遇到这样的情况,因为PHP和Java是不同的语言,所以这还不够

例如,PHP函数没有返回类型,函数在一个上下文中返回一个类型,在另一个上下文中返回另一个类型,这是不可避免的(有时也是可取的)。JavaDoc指南对此没有帮助,因为在Java中是不可能做到的。

请查看PHPDoctor,它是一个简单但功能完整的JavaDoc PHP克隆。

ApiGen

ApiGen支持PHP5.3名称空间、包、文档之间的链接、对PHP标准类和通用文档的交叉引用、创建突出显示的源代码以及对PHP5.4特性的实验支持

DocBlox

PHP5.3兼容API文档生成器,适用于各种规模的项目和持续集成


能够完全解析和转换Zend Framework 2

感谢您提供了非常全面的答案。特别是,这与我为JavaScript(动态类型的变量和参数)编写的内容相匹配,因此,如果我没有那么多约束,我将使用一些我已经习惯的东西。感谢对这一点的加强。我有时希望PHP不太像脚本语言,但我越是使用它,它就越像我通常编写的JavaScript的服务器端脚本组件。虽然您的示例是有效的,但一般来说,如果java不允许某些东西,而PHP允许,我会尝试匹配java推荐的内容,而不是在php中执行,即使我可以…我想在下面的回答中提到DocBlox与phpDocument是相同的。在3个名称空间中,这是唯一一个没有混淆名称空间的,但也许我只是没有得到什么东西,并且在深夜放了个脑屁如果您使用的是PHP5.6或PHP5.7中的一些东西,ApiGen是一个禁忌。他们即将发布4.2,所以我希望他们能解决这些问题。。。因为我喜欢他们的布局。我以前从未使用过docblox,但我尝试过apigen和phpdocumentor,apigen是我唯一尝试过的它能够在不公开源代码的情况下生成文档,并且生成的文档非常容易理解2010@Moak答案是在2009年给出的……对于今天来访的人来说,注意到这一点,让他们意识到这一点仍然很好@ItrysohardbutIcryharderIt是一个很好的选项,但请记住,当前版本(2.9.0)跳过了包含traits或php7的返回或参数类型声明的文件。