2012-08-09 8 views
6

Welcher der folgenden Schritte ist der richtige Weg, den Rückgabetyp dieser Methode für phpDocumentor zu dokumentieren?Richtiger Weg, Array-Datentyp für phpDocumentor zu bezeichnen?

Methode 1:

/** 
* @return array Foo array. 
*/ 
public function foo() { 
    return array(1, 2, 3); 
} 

Methode 2:

/** 
* @return integer[] Foo array. 
*/ 
public function foo() { 
    return array(1, 2, 3); 
} 
Auch

, gibt es irgendwelche Auswirkungen IDE entweder Methode?

Edit:

Es scheint, dass beide PhpStorm und Netbeans 7.1+ IDEs die zweite Methode unterstützen.

Antwort

11

Beide Methoden sind technisch korrekt, aber dieses als 'besser' ist, weil es mehr spezifische (int und integer austauschbar sind) ist:

@return int[] 

hier Dokumentiert:

http://www.phpdoc.org/docs/latest/guides/types.html

+0

Danke für den Link! Ich kann nicht glauben, dass ich das vermisst habe. Ich möchte dies als die richtige Antwort markieren, außer dass Abschnitt 1.4.4 besagt, dass entweder die von mir gelistete Syntax richtig ist, wo Ihre Antwort nur angibt, dass die zweite korrekt ist (obwohl der zweite definitiv der hilfreichste ist, IMHO). – FtDRbwLXw6

+0

Beide sind korrekt, aber diese wird als "besser" angesehen, weil sie spezifischer ist. int/integer sind jedoch austauschbar. – Evert

+0

@drrcknlsn: Ich schätze die Tatsache, dass Sie sich die Zeit genommen haben, den Schnitt zu machen. – Evert

4

Bei Zum Zeitpunkt des Schreibens dieser Antwort sind dies die akzeptierten Möglichkeiten von phpDocumentor (und wahrscheinlich anderen PHPDoc Implementierungen), ein Array zu bezeichnen:

  1. unspezifiziert, keine Definition der Inhalte des dargestellten Arrays ist gegeben. Beispiel: @return array

  2. angegebenen einen einzigen Typ enthält, wobei die Definition Type informiert den Leser des Typs jedes Array-Element. Nur ein Type ist dann erwartet als Element für ein bestimmtes Array. Beispiel: @return int[]

    Bitte beachten Sie, dass mixed auch ein einzelner Typ ist und mit diesem Begriff es ist möglich, um anzuzeigen, dass jedes Array-Element einen möglichen Typen enthält.

  3. mehrere Typen die Type Definition informiert den Leser des Typs jedes Array-Element enthält, angegeben. Jedes Element kann der angegebenen Typen sein. Beispiel: @return (int|string)[]