PHP je věda

Objektově orientované programování nejen v PHP

PHP jako objektově orientovaný programovací jazyk

PHP je objektově orientovaný jazyk, alespoň se snaží jít tímto směrem. Programově vynutit datové typy však lze pouze u vstupních paratetrů metod, jako např. UserMySqlRepository::save. Vynutit datové typy návratových hodnot a vlastností objektů pomocí PHP jako takového nelze. Ale právě striktní typování objektů je velmi důležité pro přehledný a udržovatelný kód a efektivní programování. Víme-li, že třída pro ukládání uživatele očekává objekt typu User, stačí nám vytvořit tento objekt a předat jej metodě UserMySqlRepository::save. Předávané datové typy mezi objekty jsou přesně definovaná komunikační rozhranní. Nemusíme vůbec zkoumat, co metoda vlastně dělá, stačí nám vědět, že pokud objekt metodě předáme, bude tento uložen.

Možná si některý ze čtenářů všiml komentářů nad hlavičkami metod a vlastností objektů. Tyto komentáře se nazývají PHPDoc. PHPDoc umí většina moderních vývojových prostředí vytvořit (např. PHPStorm) a také zpracovat pro našeptávání a kontrolu datových typů. Pokud zavedeme PHPDoc do našich projektů, bude programování mnohem příjemnější a časem se vývojář dopracuje k tomu, že bude programovat na interface, ne na konkrétní implementaci.

Další podkaptioly:

Objekt jako Špageti
Objekt jako komunikační rozhraní
Datový objekt a služba