【问题标题】:How to set member type in Doxygen for PHP code?如何在 Doxygen 中为 PHP 代码设置成员类型?
【发布时间】:2012-02-25 21:35:53
【问题描述】:

我正在尝试使用 Doxygen 记录 PHP 类成员(我没有使用 PHPDocs,因为该项目涉及 COCOA 编程,所以我可以对两个部分使用相同的工具)。

/**
 * This is brief description. 
 *  
 * This is detailed description.
 */
 private $foo;

此代码可以正确完成文档,但我想在文档中包含 var 应处理的类型。

我尝试使用 \var 和 \property,但 Doxigen 没有为 var 生成文档。

 //THIS IS NOT WORKING!
 /**
 * This is brief description. 
 *  
 * This is detailed description.
 * \var int 
 */
 private $foo;

我看过这个帖子: Doxygen: how to describe class member variables in php?

似乎 \var 在 Doxyegn 中不起作用,但帖子有点旧,也许我现在可以做点什么。

【问题讨论】:

标签: php doxygen


【解决方案1】:

我已经关注了这个功能的bug cmets:

https://bugzilla.gnome.org/show_bug.cgi?id=626105.

在第 6 条评论中提出了一个解决方案,在类型后添加 var 名称。

class Mine {
   /**
    * Definition of variable
    * @var string $var
    */
   private $var = array();
}

这对我有用。

【讨论】:

  • 这也对我有用,直到我读到这篇文章之前,这让我发疯了。
  • 非常不幸的是,对于拥有数万个 phpdoc 样式 @var 注释的庞大代码库来说,这是不可行的......
【解决方案2】:

生成可接受结果的简单解决方法是添加此输入过滤器:

INPUT_FILTER = "sed -e 's/@var\s/@see /'"

或者甚至更好地定义一个别名:

ALIASES += "var=@see"

它只是将@var 命令替换为@see 命令。它并不完美,但它非常简单且相对防弹。

小缺点是类型在描述中的某处而不是标题中。另一方面,如果只有少数属性定义了类型,它会使文档更加一致(标题看起来相同)。

【讨论】:

    【解决方案3】:

    @type 为我工作:

        /** @type string[] */
        private $csvData;
    
        /**
         * command line parameters
         * @type string[]
         */
    
        private $parameters;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-08
      • 2013-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多