PHPDoc on mukautettu Javadoc - dokumentaatiostandardi käytettäväksi PHP :ssä .
Vaikka kommentointistandardilla on vain muodollinen asema, se on kuitenkin tarkoitus konsolidoida yhdeksi PHP-FIG-ryhmän kehittämien PHP-kehysten kehitysstandardeista. Valmisteltava standardi saa numeron PSR-5 [1] . PHPDoc tukee sekä olio- että prosessikoodia asiakirjoissa.
Koodin tulkitsemiseen on luotu erillinen phpDocumentor - ohjelma .
phpDocumentor on sovellus, joka pystyy jäsentämään PHP-lähdekoodia ja DocBlock-kommentteja luodakseen täydellisen API-dokumentaation [2] .
Doc-lohkot ( eng. DocBlock comments ) ovat C -kielen tyylisiä monirivisiä kommentteja , jotka sijaitsevat ennen dokumentoitua elementtiä. Kommentin ensimmäisen merkin (ja kommenttirivien alussa) on oltava * . Lohkot erotetaan tyhjillä viivoilla.
Esimerkki Doc-lohkosta foo()-funktiolle:
/** * @param string $msg tulostettava merkkijono * @author WikiEditor * @copyright 2016 Wikipedia * @return string unchanged */ function foo ( $msg = '' ) { return $msg ; }PHPDocumentator 3, Repository nykyinen versio
Omia suuria projekteja kehitettäessä, joiden kaikkia hienouksia ei voida pitää mielessä, kuten muidenkin projekteja viimeisteltäessä, joutuu usein kurkistamaan aiemmin kirjoitettuun koodiin. Näin voit tarkemmin kuvitella palautetut, luodut esineet ja mitä voit tehdä niillä. Koska PHP:ssä on implisiittinen tyyppisuora , virheet voivat olla mahdollisia, kun toimintoja suoritetaan erityyppisille objekteille. Vahvasti kirjoitetuilla kielillä tätä ei tapahdu - ohjelma ei yksinkertaisesti käänny.
Tämän välttämiseksi käytetään PHPDoc- ja muita vastaavia tekniikoita. Oletetaan, että meillä on koodi :
... $eventData = uusi TapahtumaData (); $tapahtumatiedot -> lähettäjä = $ohjain ; $eventData -> name = 'onDelete' ; $eventData -> group = 'globaali' ; $eventData -> argumentit = array ( 'id' => 15 ); $eventDispatcher -> triggerEvent ( $eventData ); ...Tätä koodia lukeva kolmannen osapuolen kehittäjä ei välttämättä tiedä mitä $controller sisältää, mutta IDE kertoo hänelle, tukeeko se PHPDoc:ta. Eli kirjoittamalla: $controller->- näemme mitä sisällä on. Tämän seurauksena sinun ei tarvitse sukeltaa koodin viidakkoon selvittääksesi, mitä tämä objekti ohittaa ja minkä tyyppistä.