为常量编写PHPDocs的正确方法是什么?

Elz*_*ugi 72 php phpdoc

我有这个代码:

/**
 * Days to parse
 * @var int
 */
const DAYS_TO_PARSE = 10;
...
Run Code Online (Sandbox Code Playgroud)

我不认为使用@var对于常量是正确的,我没有看到任何@constantPHPDoc标记.这样做的正确方法是什么?

小智 130

PHP-FIG建议使用@var常量.

7.22. @var

您可以使用@var标签记录以下"结构元素"的"类型":

  • 常量,包括类和全局范围
  • 属性
  • 变量,包括全局和局部范围

句法

@var ["Type"] [element_name] [<description>]

  • 这需要在顶部! (7认同)
  • 截至2017年,使用`@const`将正确输出我的描述,但`@ var`不会为类常量输出任何内容. (2认同)

Gar*_*ryJ 117

@const不是正确的答案.

它的上市唯一的"官方"的地方是phpdoc.de,但该规范仅以往任何时候都作出1.0beta,并且该网站还包括像标签@brother,并@sister在该网站上,这是我以前从来没见过用,所以整体信任有点减少;-)事实上的标准一直是phpDoc.org.

简而言之,即使某些非官方标准确实提到它,如果文档生成器不支持它,那么它也不值得使用.

@var 是正确的 现在,一旦PSR(上面列表中的最后一个链接)没有草稿,并且是phpDocumentor,Doxygen,APIGen和其他人正在理解PHPDoc的基础,那么@type将是正确的,这是继承者@var.

  • 最终,[`@type`被删除,转而使用`@ var`](https://github.com/phpDocumentor/fig-standards/commit/61c695c43d1b2c713acbfb3302f284c518421bc5). (5认同)

Yog*_*ine 5

不需要注释常量的类型,因为类型总是:

  • 标量或数组
  • 申报时已知
  • 不可变的

@const也不是 PHPDoc 标准的一部分。PHP-FIG 建议,@var但这不受 PHPDoc 的支持,并且不会添加您无法从声明本身推断出的任何信息。

因此,为了可读性,我建议只使用一个普通的 PHPDoc 文档块来记录你的常量:

class Foo
{
    /**
     * This is a constant.
     */
    const BAR = 'bar';
}
Run Code Online (Sandbox Code Playgroud)

它将在您生成 PHPDocs 时描述常量,同时保持注释干净和可读。


Bri*_*ian -22

要将它们放入 phpDoc,请使用:

@const THING
Run Code Online (Sandbox Code Playgroud)

常用构造:

@const[ant] label [description]
Run Code Online (Sandbox Code Playgroud)

  • `@const` 无效并且在 PHPDocumentor 中不存在。使用“@var”。 (3认同)
  • 是前者。我刚刚记录了一个类常量,并且我生成的 phpdocs 正确包含了描述。截至 2017 年 4 月,英文文档仍然没有“@const”! (2认同)