2011-07-15 73 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

相關問題