PHP – jeden z nejoblíbenějších programovacích jazyků široce používaný k vývoji webových aplikací. V PHP je implementována podpora objektově orientovaného programování (OOP), která vývojářům otevírá mnoho možností pro vytváření a správu objektů. S objekty je možné vytvářet jejich instance, měnit jejich vlastnosti a vyvolávat jejich metody k provedení požadovaných akcí.
Chcete-li vytvořit objekt třídy v PHP, musíte použít klíčové slovo new, za kterým je uveden název třídy a předány argumenty, pokud jsou nezbytné pro inicializaci objektu. Pokud máme například třídu Person pro vytvoření instance je nutné napsat následující kód:
$person = new Person();
V tomto příkladu proměnné $person bude přidělen nový objekt třídy Person. Všimněte si, že za název třídy jsou umístěny závorky pro volání konstruktoru, pokud je definován ve třídě. Pokud návrhář nepřijme argumenty, závorky lze vynechat.
Můžete také vytvořit instanci třídy pomocí proměnné obsahující název třídy. To může být užitečné, pokud je název třídy uložen v proměnné nebo je získán dynamicky během provádění programu. Například:
$className = 'Person';$person = new $className();
V tomto případě proměnná $person bude obsahovat nový objekt třídy Person a název třídy bude převzat z proměnné $className. Tímto způsobem můžeme dynamicky vytvářet objekty různých tříd v závislosti na aktuálním kontextu v programu.
Definice třídy v PHP
V PHP je třída definována pomocí klíčového slova class a názvu třídy:
Zde je MyClass název třídy, který lze libovolně vybrat, ale obvykle název třídy začíná velkým písmenem, které označuje jeho odlišnost od proměnných.
Uvnitř třídy lze určit různé vlastnosti (proměnné) a metody (funkce) pro práci s těmito vlastnostmi:
V uvedeném příkladu je $ property vlastnost třídy a myMethod () je metoda, kterou lze vyvolat k provedení nezbytných akcí.
Definice třídy v PHP tedy umožňuje popsat soubor vlastností a metod, které lze použít k vytvoření objektů dané třídy.
Oznámení třídy v PHP
Pro vyhlášení třídy lze v případě potřeby použít i jmenný prostor. Jmenný prostor je označen před názvem třídy pomocí klíčového slova namespace .
Uvnitř těla třídy jsou deklarovány vlastnosti a metody. Vlastnosti jsou proměnné, které patří do třídy, zatímco metody jsou funkce, které jsou k dispozici pro volání z objektů této třídy.
Příklad inzerce třídy v PHP:
private function method2()/ код метода>>?>
V uvedeném příkladu má třída MyClass dvě vlastnosti: $property1 (veřejné) a $ property2( soukromé) a dvě metody: method1 () (veřejný) a method2 (soukromý).
Veřejné vlastnosti a metody třídy mohou být přístupné odkudkoli, včetně externího kódu. Soukromé vlastnosti a metody jsou k dispozici pouze uvnitř třídy a nelze je použít zvenčí.
Třídní konstruktér v PHP
V PHP má třídní konstruktér zvláštní název- _ _ construct (). Metoda musí mít stejný podpis jako rodičovský Konstruktor (pokud třída zdědí jinou třídu).
class Car brand = $brand;$this->model = $model;>public function getBrand() brand;>public function getModel() model;>>$car = new Car("Toyota", "Camry");
V tomto příkladu má třída Car dvě vlastnosti-brand a model. V konstruktoru předáváme hodnoty pro tyto vlastnosti a instalujeme je do objektu pomocí klíčového slova $this.
Vytvoření objektu třídy v PHP
K vytvoření objektu třídy v PHP se používá klíčové slovo new následuje název třídy a závorky:
$object = new ClassName();
Zde $object - proměnná, která uloží odkaz na vytvořený objekt. ClassName - název třídy, kterou chcete vytvořit.
Při vytváření objektu třídy je povolán jeho Konstruktor, pokud je definován ve třídě. Konstruktor je specifická metoda třídy, která provádí inicializaci objektu nastavením jeho počátečních hodnot.
Po vytvoření objektu můžete přistupovat k jeho vlastnostem a metodám pomocí příkazu přístupu "->". Například:
kde property - je to Název vlastnosti nebo metody objektu.
Je důležité poznamenat, že objekty v PHP jsou přenosy na odkazu. To znamená, že pokud přiřadíte jednomu objektu hodnotu druhého, změny provedené v jednom se projeví i v druhém.
Schopnost vytvářet objekty tříd v PHP umožňuje použití principů dědičnosti, polymorfismu, zapouzdření a abstrakce, které jsou hlavními koncepty objektově orientovaného programování.