【问题标题】:Using @package instead of namespace in PhpDocumentor 2在 PhpDocumentor 2 中使用 @package 而不是命名空间
【发布时间】:2014-04-09 15:19:27
【问题描述】:

我有一个大型代码库,我正在尝试为其生成分层文档。该项目不使用命名空间,而是使用@package。

我刚刚尝试使用 phpDocumentor2 从以下文件生成文档作为测试:

<?php
/**
 * This is a file
 * @package JustAn\Example
 **/

 /**
 * Something class
 **/
 class Something{
    function try_this(){

    }
 }

虽然根据文档@package JustAn\Example 应该等同于命名空间 JustAn\Example,但我发现情况并非如此。

当我使用命名空间时,生成的文档是这样的:

当我使用@package 表示法时,结果如下所示(即使它识别包表示法 - 这显示在类的完整详细信息页面上):

我正在寻找一种方法来获得分层结果,而无需重写代码以使用“真实”命名空间。

【问题讨论】:

标签: php namespaces phpdoc docblocks phpdocumentor2


【解决方案1】:

问题是默认的“干净”模板不支持此功能。其他模板(例如“响应式”)可以。您可以使用 --template="responsive" 标志来更改使用的默认模板。

【讨论】:

  • 这并不能解决我遇到的问题。你真的得到了这个工作还是你只是按照 mvriel 在问题线程中的回答?
  • 这些模板有效:“responsive”、“responsive-twig”有效。
  • 我希望将来可以由 phpdoc 团队添加。同时,我只是确认“响应式”或“响应式树枝”对我有用,尽管它看起来不如“干净”好。另一个想法,我们可能应该使用命名空间!
【解决方案2】:

我看到您在 file 文档块中有包标签,但在 class 文档块中没有。如果你将它添加到你的类文档块中,我认为它应该可以工作。

【讨论】:

  • 刚刚也尝试在类级别设置它 - 结果是一样的:列表中不存在命名空间层次结构。
猜你喜欢
  • 2017-12-22
  • 2014-01-15
  • 2011-07-24
  • 1970-01-01
  • 2011-10-19
  • 1970-01-01
  • 2020-01-14
  • 2016-10-19
  • 2018-10-21
相关资源
最近更新 更多