Ich habe diesen Code:
/**
* Days to parse
* @var int
*/
const DAYS_TO_PARSE = 10;
...
Ich denke nicht, dass die Verwendung @var
für eine Konstante korrekt ist und ich sehe kein @constant
PHPDoc-Tag. Was ist der richtige Weg, um dies zu tun?
define
es betrifft: stackoverflow.com/questions/2192751/…const FOO = 1;
funktioniert auch außerhalb des Klassenkontexts.Antworten:
Um sie in phpDoc zu bekommen, verwenden Sie:
@const THING
Übliches Konstrukt:
@const[ant] label [description]
quelle
@const
!@const
ist ungültig und existiert nicht in PHPDocumentor. Verwenden Sie@var
.Die PHP-Figur schlägt vor,
@var
Konstanten zu verwenden.quelle
@const
meine Beschreibung korrekt ausgegeben, jedoch@var
nichts für eine Klassenkonstante.@const
ist nicht die richtige Antwort.Der einzige "offizielle" Ort, an dem es aufgeführt ist, ist phpdoc.de, aber die Spezifikation dort hat es immer nur auf 1.0beta geschafft, und die Site enthält auch Tags wie
@brother
und@sister
, die ich noch nie zuvor gesehen habe, also das allgemeine Vertrauen in diese Site ist etwas vermindert ;-) Der De-facto-Standard war schon immer phpDoc.org.Kurz gesagt, selbst wenn ein inoffizieller Standard dies erwähnt, lohnt es sich nicht, es zu verwenden, wenn die Dokumentationsgeneratoren es nicht unterstützen.
@var
ist richtigFürs Erste, und wenn der PSR (letzter Link in der obigen Liste) nicht mehr im Entwurf ist und die Grundlage dafür ist, dass phpDocumentor, Doxygen, APIGen und andere PHPDoc verstehen,.@type
wäre dies der richtige Nachfolger@var
quelle
@type
wurde zugunsten von fallen gelassen@var
.Der Konstantentyp muss nicht mit Anmerkungen versehen werden, da der Typ immer wie folgt lautet:
@const
ist auch nicht Teil des PHPDoc-Standards. PHP-FIG schlägt vor@var
, dies wird jedoch nicht von PHPDoc unterstützt und fügt keine Informationen hinzu, die Sie nicht bereits aus der Deklaration selbst ableiten können.Aus Gründen der Lesbarkeit empfehle ich daher, nur einen einfachen PHPDoc-Docblock zu verwenden, um Ihre Konstanten zu dokumentieren:
class Foo { /** * This is a constant. */ const BAR = 'bar'; }
Es beschreibt die Konstante beim Generieren von PHPDocs, hält die Kommentare jedoch sauber und lesbar.
quelle
Ich benutze Netbeans. Bei Verwendung dieses Formats wird phpDoc nach globalen Konstanten und Klassenkonstanten analysiert:
/** @const Global constant description */ define('MY_CONST', 10); class MyClass { /** @const Class constant description */ const MY_CONST = 10; }
quelle
@const
die Klassenkonstanten in Netbeans nicht auslassen?@const
die Deklarationen für globale und Klassenkonstanten weglassen .Der folgende Vorschlag berücksichtigt die offizielle Dokumentationssyntax :
class Foo { const /** * @var string Should contain a description */ MY_CONST1 = "1", /** * @var string Should contain a description */ MY_CONST2 = "2"; }
quelle