2011-07-15 44 views
55

我有这样的代码:为常量编写PHPDocs的正确方法是什么?

/** 
* Days to parse 
* @var int 
*/ 
const DAYS_TO_PARSE = 10; 
... 

我不认为使用@var是一个恒定的正确,我没有看到任何@constant PHPDoc的标签。什么是正确的方法来做到这一点?

+0

至于'define'而言:http://stackoverflow.com/questions/2192751/what-is-the-correct- php-constants-define-with-phpdocumentor – hakre

+0

我看到一个,定义为独立常量,我正在寻找一个类常量 –

+1

[phpDoc类常量文档](http:// stackoverflow .com/questions/3892063/phpdoc-class-constants-documentation) – hakre

回答

-2

为了让他们进入PHPDoc的,使用方法:

@const THING 

常用的结构:

@const[ant] label [description] 
+4

http://www.phpdoc.de/kongress/constant.html –

+0

奇怪的是它没有在英文文档中提到,但确实有效! :) – Brian

+0

是不是由define()发起的类常量和全局常量之间的区别?我猜@const是为了注意后者。 –

98

@const正确的答案。

列出的唯一的“官方”地方是phpdoc.de,但规范只存在于使其1.0beta,该网站还包括@brother@sister,这是我以前从未见过的标签,所以该网站的整体信任有所减少;-)事实上 标准一直是phpDoc.org 。

总之,即使一些非官方的标准没有提及它,如果文档生成器不支持它,那么它是不值得使用的。

@var是正确的现在,一旦PSR(在上面的列表中最后一个环节)是出草案,并且是其中的phpDocumentor,Doxygen的,APIGen和其他人理解PHPDoc的基础上,再@type是正确的这是@var的继任者。

+4

最终,['@ type'被放弃了@ @ var'](https://github.com/phpDocumentor/fig-standards/commit/61c695c43d1b2c713acbfb3302f284c518421bc5)。 – outis

+0

事实上,对于IDE来说,它似乎并不重要,例如PHPStorm总是会根据实际的代码值来确定类型(因为它必须分配一个值)。 – mark

1

我使用Netbeans。当使用这种格式将分析全球和类常量PHPDoc的:

/** @const Global constant description */ 
define('MY_CONST', 10); 

class MyClass 
{ 
    /** @const Class constant description */ 
    const MY_CONST = 10; 
} 
+1

你不能在NetBeans中为类常量保留'@ const'吗? – hakre

+4

我刚刚在Netbeans 8中测试过,并且能够省略全局和类常量声明的'@ const'。 – Sonny

+0

谢谢你试用这个。 – hakre

68

The PHP-FIG suggests using @var for constants.

7.22。@var

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

  • 常量,既类和全球范围
  • 属性
  • 变量,包括全球和本地范围

语法

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

+6

这需要在顶部! – aalaap

+1

是的!,它一定是最好的答案。 – MNR

+0

那么,我们用于记录“不变”的东西的“变量”本质上是什么? – ankr

相关问题