【问题标题】:PHPDoc not showing folders for packages?PHPDoc没有显示包的文件夹?
【发布时间】:2013-08-25 19:26:43
【问题描述】:

我这样命名我的课程:

Folder_SubFolder_SubFolder_ClassName{}

众所周知,创建一个文件夹目录如下:Folder/SubFolder/SubFolder/ClassName.php

现在我这样记录这个类:

/**
 * Some title
 *
 * Some Description
 *
 * @package Folder_SubFolder_SubFolder
 */
Folder_SubFolder_SubFolder_ClassName{}

现在我使用http://www.phpdoc.org/,当我运行时:$ phpdoc -d . -t docs,我会得到这样的打印输出:

AisisCore_path_to_class 之类的东西不应该放在名为 AisisCore 的文件夹中吗?我在我的文档中做错了吗?因为老实说,这看起来像一团糟。

【问题讨论】:

    标签: php documentation phpdoc


    【解决方案1】:

    如果您希望这些东西都属于“AsisCore”,那么您需要对所有内容使用“@package AsisCore”,而不是在包名称中包含子文件夹部分。

    无论您使用什么作为“包”名称,都将用于将类组合在一起。通过在包名称字符串中包含这些子文件夹部分,您是在告诉 phpDocumentor 将例如“AsisCore_Template”视为与“AsisCore_Template_Helpers_Loop”分开且无关的东西。

    查看您的输出列表,我可能会选择在包名称中包含零或最多 一个 的子文件夹级别。然后,当您查看一个包的主页时,您会看到类名本身有助于按列表顺序将事物组合在一起,这仅仅是因为您遵循 PSR-0 / PEAR 命名约定。

    【讨论】:

    • 看起来 phpDoc2.x 已经更新了 @package 行为以更直接地模拟命名空间 (phpdoc.org/docs/latest/for-users/phpdoc/tags/package.html),因此您的示例中的下划线确实被视为类似于子命名空间。您应该看到的是每个完整的“命名空间”(===“package_subpackage_subsubpackage_etc”)一个列表。我不相信 phpDocumentor 会做任何类型的“仅卷起并呈现'包'级别的视图”。也许看看github.com/phpDocumentor/phpDocumentor2/issues/… 是否可以覆盖您想要的结果。
    【解决方案2】:

    用反斜杠试试。

    如:

    @package Folder\SubFolder\SubFolder
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-27
      • 2018-01-13
      • 2018-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多