Objektové programování v PHP

Co je to OOP? Třída? Objekt? Viditelnost? Vše se dozvíte ve výukovém článku.

Základy OOP

Termín „OOP“ označuje objektově orientované programování, což je způsob, jak organizovat a strukturovat kód. OOP nám umožňuje vidět program jako soubor objektů, které komunikují mezi sebou, místo sledu příkazů a funkcí.

Jmenné prostory

Jmenné prostory (neboli „namespaces“ v angličtině) v PHP nám umožňují organizovat a skupinovat související třídy, funkce a konstanty, čímž se vyhýbáme konfliktům v názvech.

Dědičnost

Dědičnost je nástrojem objektově orientovaného programování, který umožňuje vytvářet nové třídy na základě již existujících tříd, přebírat jejich vlastnosti a metody a rozšiřovat nebo předefinovat je podle potřeby.

Viditelnost

V PHP, když definujete třídu, můžete také definovat „viditelnost“ pro vlastnosti (proměnné) a metody (funkce) této třídy. Viditelnost určuje, kde a kdy můžete přistupovat k těmto vlastnostem a metodám.

Statické vlastnosti a metody

Když v PHP mluvíme o „statických“ prvcích třídy, myslíme tím metody a vlastnosti, které náleží samotné třídě a ne konkrétní instanci této třídy. To znamená, že nemusíte vytvářet instanci třídy, abyste k nim měli přístup.

Klíčové slovo final

V PHP můžeme použít klíčové slovo final, pokud chceme zabránit třídě, metodě nebo konstantě být zděděna nebo přepsána.

Třídní konstanty

Třídní konstanty jsou hodnoty, které můžeme definovat uvnitř třídy a jejich hodnota se nemění. Konstanty jsou přístupné přímo z třídy a ne z instance třídy.

Objektová rozhraní

Objektová rozhraní fungují jako smlouvy nebo jako šablony pro třídy. Pokud má třída implementovat objektové rozhraní, musí obsahovat všechny metody, které toto rozhraní definuje. Je to skvělý způsob, jak zajistit, že určité třídy dodržují stejnou „smlouvu“ nebo strukturu.

Abstraktní třídy

Abstraktní třídy jsou trochu speciální. Slouží jako základní šablony pro jiné třídy, ale nemůžete vytvářet jejich instance přímo. Obsahují kombinaci kompletních metod a abstraktních metod, které nemají definovaný obsah.

Typová kontrola

V programování je velmi důležité mít jistotu, že data, se kterými pracujeme, jsou správného typu. V PHP máme nástroje, které nám toto zajišťují. Toto ověřování, zda data mají správný typ, se nazývá „typová kontrola“.

Operátor instanceof

Operátor instanceof je nesmírně užitečný operátor v objektově orientovaném programování v PHP. Umožňuje nám zjistit, zda je daný objekt instancí určité třídy, potomka této třídy, nebo zda implementuje určité rozhraní.

Fluent Interfaces

„Plynulé rozhraní“ (anglicky „Fluent Interface“) je technika v OOP, která umožňuje řetězit metody dohromady v jednom volání. Tím se často zjednoduší a zpřehlední kód.

Kopírování pomocí clone

V PHP můžeme vytvořit kopii objektu pomocí operátoru clone. Tímto způsobem dostaneme novou instanci s totožným obsahem.

Výjimky v OOP

Výjimky v OOP nám umožňují řídit a ošetřovat chyby, které mohou vzniknout během provádění našeho kódu. Jsou to vlastně objekty určené k zaznamenání chyb nebo nečekaných situací ve vašem programu.

Composer

Composer je nástroj pro správu závislostí v PHP. Umožní nám vyjmenovat knihovny, na kterých náš projekt závisí, a bude je za nás instalovat a aktualizovat.