Lekce 26 - TypeHinting a dokumentace v PHP
V minulé lekci, Jmenné prostory v PHP, jsme se naučili používat jmenné prostory a rozdělovat pomocí nich větší projekty do modulů.
Dnes si řekneme, co je tzv. TypeHinting a ukážeme si, jak náš kód správně dokumentovat.
TypeHinting
Víme, že PHP je dynamicky typovaným jazykem. Tato vlastnost může ulehčit práci zejména kvůli menšímu objemu kódu, ale také mnohdy práci ztěžuje. Není prostě často jasné, jaký datový typ je kde očekáván a chybí kontrola toho, zda se metodám předávají správné parametry. Z tohoto důvodu se do PHP začala zanášet specifikace datových typů.
Zda je dobrý nápad přidávat takovouto kontrolu, by bylo na delší debatu. Z počátku jsem zastával názor, že by takové postupy v dynamických jazycích být spíše neměly. Při práci na opravdu velkých projektech jsem ale zjistil, jak moc v PHP typová kontrola chybí a kolik nepříjemností si ušetříme, když typy uvádíme. My si v dnešním dílu představíme tzv. TypeHinting a typovanou PhpDoc.
TypeHinting umožňuje specifikovat datový typ parametrů metody. Je to velmi jednoduché, ukažme si to na jednoduché třídě:
class Trida { public function pridejUzivatele(Uzivatel $u) { } public function zkopirujPole(array $pole) { } public function overCaptchu(Captcha $captcha) { } } class Uzivatel { } interface Captcha { }
Pokud metodě pridejUzivatele()
předáme něco jiného,
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V tomto dílu seriálu si ukážeme, jak projekty v PHP správně dokumentovat.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.