为不同的访问级别生成 PHP 文档

Generate PHP Documentation for different access levels

我在一个 php 项目中工作,该项目需要生成 3 个或更多文档,这些文档比其他文档更严格。 对于文档,我使用 PhpDocumentor 2。 我发现的唯一方法是使用 @internal 标记和 --parseprivate 选项(用于生成私有文档)的 2 级文档。

是否可以生成具有中等限制级别的第三个文档?

我也试过 @access 标签和 --visibility,但它在 phpDocumentor 的第 2 版中不起作用。 或 @ignore 标签,但我没有找到使用此标签设置的代码生成第三个文档的方法。

@access 标签是一个已失效的 PHP4 标签,在将实际可见性关键字添加到 PHP5 之前使用。 PhpDocumentor 1.x 会识别标签,但如果关键字在代码中,标签将被忽略。 2.x 甚至不再理会那些标签。

"Intermediate level" 是一个相当随意的描述。这里的所有三个 "levels" 都需要阐明一些特定要求,并且可能最好由三个不同的 phpdoc.xml 配置文件进行管理。

下面是我如何描述三个级别的文档以及如何完成它们的示例。

API-level:我会使用基于文件的参数来仅记录 接口 。如果在文档块中使用 @api 标记来表示 public API 的实际各个部分,那么您可以只依赖这些。但是,我认为文档中此信息的 介绍 实际上只是一个突出显示的侧边栏,而我专门记录接口的方法意味着整个文档只是定义的接口(我认为"the API").

应用程序级别:我会捕获所有 类,但使用仅显示 public 可见性组件的默认行为。

Dev-level:我会使用 --parseprivate 来显示所有组件。我自己也倾向于将面向开发人员的信息放入 @internal 标签中。

同样,我会为其中的每一个使用自定义的 phpdoc.xml 配置文件,这样我的定义就可以提交给版本控制。

这是一个有趣的问题。能够为特定用户定制文档。

我会去看看 PHPFUI/InstaDoc。我写它是因为我对 PHP 文档的当前状态不满意。它是一个动态文档查看器。它非常适合开发 PHP 应用程序,因为您拥有当时实际编写的新代码的所有当前文档,以及所有旧代码,包括通过 Composer 引入的代码。它读取当前文件的文档块并动态呈现文档。因此,在签入代码之前,您实际上可以看到包含的文档。经常查看文档,您会发现问题和可以解决的问题。所以它是一个很好的工作流程。

可以很容易地使其具有访问级别。检查并提交问题或 PR,添加用户可控视图非常简单。但您的问题正是 InstaDoc 的创建目的。我希望你觉得它有用。