2012-08-09 4 views
6

Quale dei seguenti è il modo corretto per documentare il tipo di ritorno di questo metodo per phpDocumentor?Modo corretto per indicare il tipo di dati dell'array per phpDocumentor?

Metodo 1:

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

Metodo 2:

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

Inoltre, ci sono implicazioni IDE da entrambi i metodi?

Edit:

Sembra che sia PhpStorm e IDE Netbeans 7.1+ supportano il secondo metodo.

risposta

11

Entrambi i metodi sono tecnicamente corrette, ma questo è considerato 'meglio' perché è più specifico (int e integer sono intercambiabili):

@return int[] 

documentato qui:

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

+0

Grazie per il collegamento! Non posso credere di aver perso questo. Voglio contrassegnare questo come la risposta corretta, eccetto che la sezione 1.4.4 afferma che la sintassi che ho elencato è corretta, dove la tua risposta specifica che solo il secondo è corretto (anche se il secondo è sicuramente il più utile, IMHO). – FtDRbwLXw6

+0

Entrambi sono corretti, ma questo è considerato "migliore" perché è più specifico. int/integer sono intercambiabili però. – Evert

+0

@drrcknlsn: Apprezzo il fatto che tu abbia avuto il tempo di fare la modifica. – Evert

4

At al momento di scrivere questa risposta, questi sono i modi accettati di phpDocumentor (e probabilmente altre implementazioni PHPDoc) per indicare un array:

  1. specificato, definizione del contenuto della matrice è rappresentato proposta. Esempio: @return array

  2. specificato contenente un unico tipo, la definizione Type informa il lettore del tipo di ogni elemento dell'array. Solo uno Type è quindi previsto come elemento per un determinato array. Esempio: @return int[]

    prega di notare che mixed è anche un tipo singolo e con questa parola si è possibile indicare che ogni elemento dell'array contiene eventuali tipo.

  3. specificato contenente più tipi, la definizione Type informa il lettore del tipo di ogni elemento dell'array. Ogni elemento può essere di qualsiasi dei tipi specificati. Esempio: @return (int|string)[]
Problemi correlati