PHPKurz PHP (25.) |
|
┌vodem | Kurz PHP | Odkazy | Aplikace | Otßzky a odpov∞di |
|
Dokumentovßnφ PHP k≤duV dneÜnφm dφle se budeme v∞novat jednΘ z Φßstφ tvorby aplikacφ v PHP, kterou je dokumentovßnφ k≤du. Jak jsme si ji₧ uvßd∞li d°φve, tak ka₧d² k≤d, kter² vytvo°φme by m∞l b²t zdokumentovßn. Tφmto krokem si zajistφme to, ₧e pokud se ke k≤du vrßtφme po urΦitΘ dob∞, tak nßm danΘ konstrukce nebudou p°ipadat tak neznßmΘ. Mezi dalÜφ d∙vody pat°φ takΘ to, ₧e pokud budeme chtφt p°edat k≤d i dalÜφm lidem, nebude pro n∞ jeho pochopenφ tak slo₧itΘ. Jako zp∙sob dokumentace se vyu₧φvß p°evß₧n∞ integrovan²ch komentß°∙ v PHP (// a /**/) nebo externφch program∙, jen₧ majφ tvorbu dokumentace na starosti. My si v dneÜnφm dφle jeden z nßstroj∙, konkrΘtn∞ nßstroj phpDocumentor ukß₧eme a vysv∞tlφme s prßci s nφm. Nßstroj phpDocumentor je mo₧nΘ stßhnout ze strßnek http://www.phpdoc.org, kde je mo₧nΘ najφt takΘ novinky o tomto nßstroji a jinΘ podrobnosti. Pomocφ tohoto nßstroje m∙₧eme vytvo°it komplexnφ dokumentaci pokr²vajφcφ vÜechny Φßsti zdrojovΘho k≤du. A¥ ji₧ se jednß o funkce, t°φdy, metody, pole atd. Tento nßstroj umo₧≥uje generovßnφ dokumentace do r∙zn²ch formßt∙ jako HTML (n∞kolik r∙zn²ch variant), PDF, CHM a XML (DocBook). Pro p°edstavu, jak m∙₧e vygenerovanß dokumentace vypadat m∙₧eme navÜtφvit webovou adresu http://phphtmllib.newsblob.com/javadoc.php. Instalaci tohoto nßstroje ve verzi 1.3.0 RC3 m∙₧eme provΘst po sta₧enφ z domovskΘ strßnky nebo zde z CD. Pro generovanφ dokumentace m∙₧eme vyu₧φt n∞kolik rozhranφ. Tφm prvnφm a asi nejzajφmav∞jÜφm je webovΘ rozhranφ, kterΘ je p°φstupnΘ po rozbalenφ hlavnφho archivu. Vyu₧φvat jej m∙₧eme nap°φklad po rozbalenφ archivu do slo₧ky doc v rootu webovΘho serveru http://localhost/doc/index.html (nebo samoz°ejm∞ kdekoliv jinde). Mezi dalÜφ rozhranφ pat°φ vyu₧itφ p°φkazovΘ °ßdky. My se v tomto dφle budeme v∞novat webovΘmu rozhranφ, kterΘ je jednoduÜÜφ a rychlejÜφ. K dokumentovßnφ nejen funkcφ se vyu₧φvß nßsledujφcφ blok: 1. /** 2. * 3. * 4. */ Tento blok se sklßdß z ·vodnφho /** a koncovΘho */. Ka₧d² °ßdek, kter² bude vyu₧φvßn k dokumentovßnφ musφ zaΦφnat hv∞zdiΦkou, b²t umφst∞n na samostatnΘm °ßdku a musφ b²t samoz°ejm∞ umφst∞n mezi poΦßteΦnφ a koncovou znaΦkou. Jako p°φklad si ukß₧eme zdokumentovanφ funkce Ahoj(): /** * toto je krßtk² popis pro nejlepÜφ funkci na sv∞t∞ */ function Ahoj() { } phpDocumentor rozpoznßvß dva druhy blok∙. Tφm prvnφm je blok, jeho₧ popis zaΦφnß na prvnφm °ßdku a naz²vß se krßtk² popis. Krßtk² popis m∙₧e b²t ukonΦen teΦkou nebo prßzdn²m °ßdkem a je zobrazen v jednom °ßdku. Tφm druh²m je dlouh² popis, jen₧ se vyu₧φvß k podrobn∞jÜφmu popsßnφ Φinnosti zvolenΘho k≤du. /** * toto je krßtk² popis pro nejlepÜφ funkci na sv∞t∞ * * Toto je dlouh² popis popisujφcφ Φinnost tΘto funkce * vΦetn∞ vÜech jejich mo₧nostφ atd. */ function Ahoj() { return "Jak se mßÜ?"; } Dlouh² popis m∙₧eme takΘ formßtovat pomocφ n∞kolika tag∙, kter²mi jsou:
/** * toto je krßtk² popis pro nejlepÜφ funkci na sv∞t∞ * * Toto je dlouh² popis popisujφcφ Φinnost tΘto funkce * vΦetn∞ vÜech jejich mo₧nostφ atd. * * <b>Nynφ</b> si ukß₧eme zp∙sob zavolßnφ funkce. * <code><?php echo Ahoj(); ?></code> */ function Ahoj() { return "Jak se mßÜ?"; } Nynφ je na Φase si ukßzat seznam tag∙, kterΘ m∙₧eme vyu₧φvat ke specifikaci k≤du. VÜechny tagy zaΦφnajφ znakem @. Tag, kter² parser nerozpoznß nebude zpracovßn. VÜechny tagy, kterΘ majφ b²t zpracovßny musejφ b²t umφst∞ny jako prvnφ znak na novΘ °ßdce. Jako p°φklad si ukß₧eme tag @author: /** * Ukßzka tag∙ * @author Josef Novßk (josef@novßk.cz) */ M∙₧eme takΘ vyu₧φt vklßdßnφ tag∙ jak²m je nap°φklad tag @link (tento tag je pova₧ovßn za tzv. inline tag): /** * Ukßzka inline tag∙ * * Tato funkce je velmi podobnß funkci {@link Hello()} */ function Ahoj() { return "Jak se mßÜ?"; } function Hello() { return "How are you?"; } V²sledkem bude odkaz na popis funkce Hello: Tato funkce je velmi podobnß funkci Hello(). Nynφ si ukß₧eme seznam vÜech tag∙ a vysv∞tlφme si jejich ·Φel:
Podrobn² popis vΦetn∞ rozsßhl²ch p°φklad∙ je mo₧nΘ zφskat na strßnkßch s manußlem. Mezi poslednφ fßze generovßnφ dokumentace je nastavenφ n∞kolika voleb webovΘho rozhranφ a nßslednΘ vygenerovanφ. WebovΘ rozhranφ je rozd∞leno do n∞kolika sekcφ:
Podrobn² popis vÜech mo₧nostφ tohoto nßstroje je mo₧nΘ zφskat na http://www.phpdoc.org/manual.php. Pro tento dφl to bude vÜe. V p°φÜtφm dφle budeme dßle pokraΦovat v poznßvßnφ jazyka PHP.
|
|