PHPDoc este un standard de documentație Javadoc adaptat pentru utilizare în PHP .
În timp ce standardul de comentarii are doar un statut formal, este planificat să îl consolideze ca unul dintre standardele de dezvoltare pentru cadrele PHP dezvoltate de grupul PHP-FIG. Standardul în curs de pregătire va primi numărul PSR-5 [1] . PHPDoc acceptă atât codul orientat pe obiecte, cât și codul procedural în documente.
Un program phpDocumentor separat a fost creat pentru a interpreta codul .
phpDocumentor este o aplicație capabilă să analizeze codul sursă PHP și comentariile DocBlock pentru a genera un set complet de documentație API [2] .
Doc-blocks ( ing. DocBlock comments ) sunt comentarii cu mai multe linii în stilul limbajului C , situate înaintea elementului documentat. Primul caracter dintr-un comentariu (și la începutul liniilor de comentariu) trebuie să fie * . Blocurile sunt separate prin linii goale.
Un exemplu de bloc Doc pentru funcția foo():
/** * @param șir $msg șir de ieșire * @author WikiEditor * @copyright 2016 Wikipedia * @return șir neschimbat */ function foo ( $msg = '' ) { return $msg ; }Versiunea actuală a PHPDocumentator 3, Repository
Când vă dezvoltați propriile proiecte mari, ale căror subtilități nu pot fi reținute, la fel ca atunci când finalizați proiectele altora, trebuie adesea să vă uitați în codul scris anterior. Acest lucru vă permite să vă imaginați mai precis obiectele returnate, create și ce puteți face cu ele. Având în vedere că PHP are tip casting implicit , erorile sunt potențial posibile atunci când operațiunile sunt efectuate pe obiecte de diferite tipuri. În limbile puternic tastate , acest lucru nu se va întâmpla - programul pur și simplu nu se va compila.
Pentru a evita acest lucru, se folosesc PHPDoc și alte tehnologii similare. Să presupunem că avem un cod :
... $eventData = new EventData (); $eventData -> expeditor = $controller ; $eventData -> nume = 'onDelete' ; $eventData -> grup = 'global' ; $eventData -> arguments = array ( 'id' => 15 ); $eventDispatcher -> triggerEvent ( $eventData ); ...Un dezvoltator terță parte care citește acest cod poate să nu știe ce conține $controller, dar IDE-ul îi va spune dacă acceptă PHPDoc. Adică tastând: $controller->- putem vedea ce este înăuntru. Drept urmare, nu este nevoie să vă adânciți în jungla codului pentru a afla ce este trecut de acest obiect și în ce tip.