A PHPDoc egy adaptált Javadoc dokumentációs szabvány PHP -ben való használatra .
Míg a kommentelő szabványnak csak formális státusza van, a tervek szerint a PHP-FIG csoport által kifejlesztett PHP keretrendszerek egyik fejlesztési szabványaként konszolidálják. A készülő szabvány a PSR-5 [1] számot kapja . A PHPDoc támogatja mind az objektumorientált , mind az eljárási kódot a dokumentumokban.
A kód értelmezésére külön phpDocumentor program készült .
A phpDocumentor egy olyan alkalmazás, amely képes a PHP forráskód és a DocBlock megjegyzések elemzésére az API dokumentáció teljes készletének létrehozásához [2] .
A Doc-blokkok ( eng. DocBlock comments ) többsoros megjegyzések a C nyelv stílusában, amelyek a dokumentált elem előtt helyezkednek el. A megjegyzésben (és a megjegyzéssorok elején) az első karakternek * kell lennie . A blokkokat üres sorok választják el.
Egy példa Doc blokk a foo() függvényhez:
/** * @param string $msg string kimenetre * @author WikiEditor * @copyright 2016 Wikipédia * @return string változatlan */ function foo ( $msg = '' ) { return $msg ; }A PHPDocumentator 3 aktuális verziója, Repository
Saját nagy projektek fejlesztésekor, amelyeknek minden finomságát nem lehet szem előtt tartani, csakúgy, mint mások projektjeinek véglegesítésekor, gyakran bele kell kukucskálni a korábban megírt kódba. Így pontosabban elképzelhető a visszaküldött, létrehozott objektumok és mit lehet velük kezdeni. Tekintettel arra, hogy a PHP implicit típusú öntéssel rendelkezik , hibák lehetségesek, amikor különböző típusú objektumokon hajtanak végre műveleteket. Erősen gépelt nyelveken ez nem fog megtörténni – a program egyszerűen nem fog lefordítani.
Ennek elkerülésére PHPDoc és más hasonló technológiákat használnak. Tegyük fel, hogy van egy kódunk :
... $eventData = new EventData (); $eventData -> feladó = $vezérlő ; $eventData -> name = 'onDelete' ; $eventData -> group = 'globális' ; $eventData -> argumentumok = tömb ( 'id' => 15 ); $eventDispatcher -> triggerEvent ( $eventData ); ...A kódot olvasó külső fejlesztő nem biztos, hogy tudja, mit tartalmaz a $controller, de az IDE megmondja neki, hogy támogatja-e a PHPDoc-ot. Vagyis beírva: $controller->- láthatjuk, mi van belül. Ennek eredményeként nincs szükség a kód dzsungelébe való mélyedésbe, hogy megtudja, mit és milyen típusban halad át ez az objektum.