PHP代码的自动文档

时间:2010-01-22 01:41:11

标签: php documentation-generation annotations

好的我知道有用于从PHP代码生成文档的PhpDocumentor。它似乎在很长一段时间内没有更新(但也许他们认为它的主要特征是完整的)。

虽然这对于为其他程序员记录内容可能有用,但它似乎不适合记录Web服务的外部“API”。 IE,如果我有一个很好的MVC结构化项目,PhpDocumentor可能非常适合记录所有模型和内部库,以及该项目上的其他开发人员,但我如何记录它提供的Web服务?

我正在考虑使用以下标签记录控制器上的方法:

/**
 @service /device/add
 @access POST
 @return JSON 
*/

在生成的文档中显示您需要执行POST请求,它将返回JSON数据,并且访问它的URL为http://whatever.com/device/add。显然,文档的全局配置文件将定义这些服务调用的基本URL。

此时我想我将使用对phpdoc块的反射(或使用带有附录库的Annotations)来实现一些东西,并在应用程序中动态访问文档。

2 个答案:

答案 0 :(得分:1)

您可能更喜欢DoxyGen(或PHPxRef)到PhpDocumentor。

“虽然这对于为其他程序员记录内容可能有用,但它似乎不适合记录Web服务的外部”API“。

为什么不将DoxyGen(或其他)评论放入外部可见的API函数中?

说明每项内容并使用@param [in]@param [out]@return

这不会实现你想要的吗?还是我错过了什么?

答案 1 :(得分:0)

我认为您的要求(记录API(特别是如果它的RESTful))将使用WADL。虽然它不会从源代码生成(在PHP中没有工具),但WADL非常适合记录服务。

您可以在各种媒体类型中获取样本有效负载,所有响应代码以及处理方式 - 实际上是您需要的所有内容。