2011-01-13 11 views
6

Qualcuno può dirmi quale sia il modo corretto di definire gli spazi dei nomi php nella sintassi di phpDoc? Oppure, @package è deprecato in phpDoc, poiché i namespace definiscono più o meno un pacchetto?Definizione degli spazi dei nomi nella sintassi di phpDoc

Se non ce n'è, esiste un modo comune per documentare gli spazi dei nomi in cui si trova un documento?

risposta

7

phpDoc non ha un concetto di spazio dei nomi ma è possibile (e probabilmente dovrebbe) usare @package per questo.

Si potrebbe dare un'occhiata allo phplint documentation per vedere come stanno formattando gli spazi dei nomi.

+0

Grazie per esserti riferito a una libreria esistente che utilizza il formato namespace nella loro documentazione. Non sono riuscito a trovarne uno, sicuramente utile! –

+0

[Manuale PHPdoc] (http://manual.phpdoc.org/HTMLSmartyConverter/PHP/phpDocumentor/tutorial_tags.pkg.html) è anche una buona risorsa –

+1

Da questa risposta le cose si sono spostate un po '. phpDoc ora usa pesantemente un concetto di namespace ma la documentazione phpDoc non lo definisce poiché è un concetto di linguaggio PHP che diventa controllabile in PHP 5.3. La documentazione di phpDoc ora consiglia l'uso di namespace su @package dove l'intento è di avere la stessa gerarchia in entrambi, come spesso accade. – ClearCrescendo

2

@package Dovrebbe essere utilizzato in ogni docblock di ogni file del progetto, è inoltre possibile utilizzare @subpackage. @package non è deprecato e sarebbe il modo corretto per definire i tuoi spazi dei nomi.

+0

Grazie, @subpackage potrebbe essere utile, ma questo non risolve il mio problema. +1 –

1

Puoi dare un'occhiata a DocBlox; questo è un generatore di documentazione API che supporta gli spazi dei nomi.

E per rispondere più chiaramente alla tua domanda: per quanto ho riscontrato sono pacchetti considerati deprecati a causa dell'invenzione dei Namespace. Se si legge la specifica PSR-0, si vedrà che tenta di fornire il pacchetto come seconda parte di uno spazio dei nomi; il primo è il venditore.

0

La documentazione PHPDoc dice:

Il tag @package può essere usato come una controparte o un supplemento al spazi dei nomi. I namespace forniscono una suddivisione funzionale degli elementi strutturali in cui il tag @package può fornire una suddivisione logica in in cui gli elementi possono essere raggruppati con una gerarchia diversa.

Se, su tutta la linea, sia suddivisioni logiche e funzionali sono uguali è sconsigliabile utilizzare il tag @package, per evitare manutenzione sovraccarico.

https://www.phpdoc.org/docs/latest/references/phpdoc/tags/package.html