Kapitola4
Objektově orientované programování
Předpokládám, že jste již pojem OOP někdy slyšeli. O objektech v souvislosti s programováním se mluví již více jak šedesát let. PHP není nativně objektový jazyk, ale práce s objekty byla do PHP přidána koncem devadesátých let ve verzi 3. Od verze 5 byla podpora OOP posílena a programátoři měli již poměrně dobrý standard pro psaní objektových aplikací. Postupně se objektový přístup zlepšoval, a i poslední verze 7 přinesla opět další pozitivní změny a možnosti.
OOP nám do programování může přinést škálovatelnost, přehlednost, srozumitelnost. Díky OOP můžeme udržet srozumitelné a přehledné i velké projekty. Pokud budete o objektovém přístupu číst v odborné literatuře, jistě se dočtete i o dědičnosti, polymorfismu nebo zapouzdření. Pojďme si to ale vysvětlit od začátku, postupně a jednoduše na příkladech. Poté by nám všechny výše uvedené pojmy měly být jasnější.
OOP vychází z našeho běžného života, ve kterém se běžně setkáváme s objekty. Nijak nás neudivuje, že jednotlivé objekty reálného života mají své stavy a také možnosti, jak tyto stavy měnit. Například dveře mohou být otevřené, zavřené, odemčené, zamčené a my máme možnost tyto stavy měnit. Je pro nás připraveno rozhraní, které nám je známé, v podobě zámku či kliky. Jak je mechanismus uvnitř zámku vyroben a jak funguje nás ani zajímat nemusí, abychom objekt mohli používat. Kdo ví, jak přesně funguje převodovka, brzdy nebo tachometr automobilu, a přeci jej milióny lidí používá. Také nás neudivuje, že se jednotlivé objekty skládají z jiných objektů anebo že některé objekty z jiných vycházejí, mají společné vlastnosti. Jednotlivé skutečné objekty vznikají dle patřičných postupů (receptů, „blueprintů“…) a mají tedy předdefinované společné vlastnosti a chování.