Ich habe diesen Code:
/**
* Days to parse
* @var int
*/
const DAYS_TO_PARSE = 10;
...
Ich denke nicht, dass die Verwendung @varfür eine Konstante korrekt ist und ich sehe kein @constantPHPDoc-Tag. Was ist der richtige Weg, um dies zu tun?
Ich habe diesen Code:
/**
* Days to parse
* @var int
*/
const DAYS_TO_PARSE = 10;
...
Ich denke nicht, dass die Verwendung @varfür eine Konstante korrekt ist und ich sehe kein @constantPHPDoc-Tag. Was ist der richtige Weg, um dies zu tun?
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]
@const!
@constist ungültig und existiert nicht in PHPDocumentor. Verwenden Sie @var.
Die PHP-Figur schlägt vor, @varKonstanten zu verwenden.
7.22.
@varMit dem
@varTag können Sie den "Typ" der folgenden "Strukturelemente" dokumentieren:
- Konstanten, sowohl Klasse als auch globaler Bereich
- Eigenschaften
- Globale und lokale Variablen
Syntax
@var ["Type"] [element_name] [<description>]
@constmeine Beschreibung korrekt ausgegeben, jedoch @varnichts für eine Klassenkonstante.
@constist 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 @brotherund @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 richtig Fü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, .@typewäre dies der richtige Nachfolger@var
@typewurde zugunsten von fallen gelassen@var .
Der Konstantentyp muss nicht mit Anmerkungen versehen werden, da der Typ immer wie folgt lautet:
@constist 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.
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;
}
@constdie Klassenkonstanten in Netbeans nicht auslassen?
@constdie 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";
}
definees betrifft: stackoverflow.com/questions/2192751/…