objektumorientált programozás

Már egy ideje programozok PHP-ben. A PHP 5-ben már teljes mértékben lehet objektumorientáltan programozni. Úgy gondoltam, ideje elkezdeni nekem is.
De sajnos csalódnom kellett, mert nem nagyon értem a dolgot. Amiket eddig olvastam, nem voltak túl érthetőek.

Kérdésem a következő: Tud-e valaki olyan könyvet (magyarul), amiben érthetően el van magyarázva a dolog?

Előre is köszönöm a segítő válaszokat!

Hozzászólások

Más oo nyelvben van tapasztalatod?

Csak azt ne várd (általános webes alkalmazás esetén), hogy ezzel jobb vagy gyorsabb kódot állítasz elő. A tapasztalat legalábbis az ellenkezőjét mutatja: a parser lassul tőle, sokkal több kód kell ugyanahhoz a funkcionalitáshoz, és utólag az esetleges rejtett hibák megkeresése is könnyebb a lineáris kódban. Mielőtt még kapok a fejemre, hogy nem értek hozzá, elmondom, hogy a hotdog.hu és a videoplayer.hu "szárad a lelkemen", látok és írok épp elég php kódot lineárisan is, objektumorientáltan is.
A parser lassúságát egyébként eaccelerator-ral , xcache-sel vagy hasonló eszközzel ki lehet játszani. A többi nyűg marad.

Ez mind tény, már csak azért is, mert egy tipikus web-alkalmazás lineálisan lefut viszonylag rövid időn bellül.

A hibák keresése meg szerintem szituáció-függő. Tegnap én is javítottam az egyik php-s progimban olyan hibát, amely pont abból adódott, hogy nem volt normálisan egységbe zárva a kódom.

"sokkal több kód kell ugyanahhoz a funkcionalitáshoz" Szerintem ez is függ attól, hogy miről van szó.

Másrészt van pár dolog, amit kényelmesebben meg lehet oldani ojjektekkel, mint amúgy. (Részemről: SQL réteg, sablon rendszer szinte mindig a jól bevált objektem)

PHP-ben mondjuk általában a hibrid kód a célravezető szerintem.

---
A Linux nem Windows, de a Windows se Linux.

Nem, egyáltalán nem azt várom, hogy gyorsabb legyen a dolog. Én egyszerűen meg szeretném érteni globálisan a szemléletet, a felépítést, a működést.
Nekem személy szerint egyáltalán nem szimpatikus a dolog (jobban szeretem a lineáris kódot), de nem árt, ha megértem a dolgot és szükség esetén használni is tudjam.

PHP fejlesztés felsőfokon
Ebbe a könyvbe érdemes beruháznod. Kifejezetten a PHP5-öt boncolgatja és a legfontosabb dolgokat tárgyalja és nem csak elméletben.
Csak ízelítőként: Kódolási stílus, tervezési minták, csapatmunka, debuggolás, MVC és megvalósítása, Smarty, verzió követés (CVS), teljesítmény kérdések és megoldások.
--
http://webappz.hu

A Google-t használva az alapvető fogalmakat (öröklődés, egységbezárás, többalakúság) megtalálod. Az igaz, hogy én sem a PHP-val kapcsolatban találkoztam ezekkel a fogalmakkal (Pascal, C++, Java). Az általános fogalmak nyelvtől függetlenül is megállják a helyüket, de szerintem te inkább gyakorlatban szeretnéd elsajátítani, mint sem elméleti szinten filozofálgatni, a különböző láthatósági kérdésekről, meg az osztály hierarchiákról. Én azért ajánlottam azt a könyvet, mert abban gyakorlati dolgok vannak (igaz az elmélet kell hozzá). Ha elakadsz vagy valamit nem értesz, akkor kérdezz rá, lehet hogy az jobban átlendít a problémán. Az egész OOP-nak az értelmét és jelentősségét igazán akkor érted meg, ha jobban beleásod magad a software engineering-be. A OOP egyik előnye (már ha lehet annak nevezni), hogy rádkényszeríti a tervezést. Ha a tervezést megfelelő eszközzel végzed, akkor később könnyen felhasználhatod a már kész tervet egy másik nyelven történő megvalósításnál.

Üdv: Webappz
--
http://webappz.hu