PHPDoc er en tilpasset Javadoc dokumentationsstandard til brug i PHP .
Mens kommentarstandarden kun har en formel status, er det dog planlagt at konsolidere den som en af udviklingsstandarderne for PHP-frameworks, der udvikles af PHP-FIG-gruppen. Standarden, der udarbejdes, vil modtage nummeret PSR-5 [1] . PHPDoc understøtter både objektorienteret og proceduremæssig kode i dokumenter.
Et separat phpDocumentor- program er blevet oprettet til at fortolke koden .
phpDocumentor er et program, der er i stand til at parse PHP-kildekode og DocBlock-kommentarer for at generere et komplet sæt API-dokumentation [2] .
Doc-blocks ( eng. DocBlock comments ) er kommentarer med flere linjer i stil med C -sproget , placeret før det dokumenterede element. Det første tegn i en kommentar (og i begyndelsen af kommentarlinjerne) skal være * . Blokke er adskilt af tomme linjer.
Et eksempel på Doc-blok til foo()-funktionen:
/** * @param streng $msg streng til output * @author WikiEditor * @copyright 2016 Wikipedia * @return string uændret */ function foo ( $msg = '' ) { return $msg ; }Nuværende version af PHPDocumentator 3, Repository
Når du udvikler dine egne store projekter, hvis alle finesser ikke kan huskes, ligesom når du færdiggør andres projekter, skal du ofte kigge ind i tidligere skrevet kode. Dette giver dig mulighed for mere præcist at forestille dig de returnerede, oprettede objekter, og hvad du kan gøre med dem. Da PHP har implicit type casting , er fejl potentielt mulige, når der udføres operationer på objekter af forskellige typer. På stærkt indtastede sprog vil dette ikke ske - programmet vil simpelthen ikke kompilere.
For at undgå dette bruges PHPDoc og andre lignende teknologier. Lad os sige, at vi har en kode :
... $eventData = new EventData (); $eventData -> afsender = $controller ; $eventData -> name = 'onDelete' ; $eventData -> group = 'global' ; $eventData -> arguments = array ( 'id' => 15 ); $eventDispatcher -> triggerEvent ( $eventData ); ...En tredjepartsudvikler, der læser denne kode, ved muligvis ikke, hvad $controller indeholder, men IDE'en vil fortælle ham, om den understøtter PHPDoc. Det vil sige ved at skrive: $controller->- vi kan se, hvad der er indeni. Som et resultat er der ingen grund til at dykke ned i junglen af kode for at finde ud af, hvad der sendes af dette objekt og i hvilken type.