Smysl OOP v PHP aplikaci ? rubrika: Programování: PHP

8 Martin Kuchař
položil/-a 31.10.2013
 
upravil/-a 31.10.2013

Jaký je smysl OOP v PHP alikaci ? Marně se snažím najít nějaký příklad, kdy je OOP vhodné, nebo dokonce potřebné. Slyším jen spoustu frází, žádný konkrétní příklad v kódu.

Neřeším případ, kdy někdo používá framework, který je objektový a je tak k němu třeba přistupovat. Podle mého názoru by programování mělo být efektivní a veškerý kód v programu by měl být proto, aby řešil daný problém, nikoliv tuny cizího balastu kolem.

Z mého pohledu je framework lego, které jistě (pokud má programátor čas a naučí se jej) usnadní stavbu aplikace poskládáním vhodných komponent, ušetří práci s ošetřováním vstupů a výstupů (zpravidla za cenu slepé důvěry, že je to ve frameworku napsané správně) a automaticky s sebou přináší zanesení aplikace tunami nepoužívaného kódu. Připadá mi to jako instalovat Windows a Office proto, že chci napsat dokument.

Ale otázka vhodnosti použití frameworku je na jinou otázku. Rád bych zde zůstal jen o té otázky vhodnosti použití OOP v PHP..

Komentáře

  • Anonym : Jen bych poznamenal, že tato otázka vznikla na základě komentářové diskuse u odpovědi http://devel.cz/otazka/vhodne-php-ide#answer-12045. Před odpovědí doporučuji pročíst 31.10.2013
  • ic : Proč zrovna v PHP aplikaci? V jiných jazycích je to s OOP zásadně jinak a tam to třeba smysl má, ale v PHP ne? 31.10.2013
  • diverman : Zdravim, doporucil bych Vam navstivit vysokoskolskou prednasku na tema OOP, abychom tu zase jen netlachali. Proc tu radsi neresime konkretni problemy a algoritmy? 31.10.2013
  • Anonym : OOP Prague talk SOLID/STUPID http://www.youtube.com/watch?v=G32acYVd9LY 2.11.2013
  • m.maiksnar : Jenom připomenu, že se bavíme konkrétně o vhodnosti používání OOP v PHP, ne obecném OOP. Smysl OOP tady předpokládám nikdo zpochybňovat nechce. 2.11.2013
  • Anonym : @m.maiksnar: Nj, jenže smysl OOP v PHP aplikaci je stejný jako u jiných jazykú :) To je proste ako hádzať hrach o stenu, alebo vravieť niečo hluchému tuna. Žiadna snaha pochopiť proste. Tí čo v PHP robia viac ako 10 rokov aj tak vedia prečo. Keby to nemalo zmysel už by PHP vlastne dávno zakapalo. Je to hlavne o zmene myslenia, to je začiatok prechodu od procedurálneho k objektovému. 2.11.2013
  • Anonym : a od objektového k funkcionálnímu, je to jen otázka času. ;) 2.11.2013
  • Anonym : BTW dost borců v třídně orientovém programování nepochopila ani to procedurální, natož pak objektové. 2.11.2013
  • Anonym : @Aleš Roubíček: Čisto funkcionálne programovanie sa mi na prvý pohľad zapáčilo, je to bez mágie. Ale keďže sa živím PHP, tak OOP je zatiaľ predsa len pohodlnejšie, veľa knižníc atď. Aj keď nejaké pokusy už sú. To je už ale OT. 2.11.2013
  • Anonym : knihovny a frameworky jsou jako kolečková křesla a pečovatelské domy pro nesvéprávné... 2.11.2013
  • Anonym : http://notonlyoo.org/translations/ 2.11.2013
odkaz Vyřešeno
5 MartinStepar
odpověděl/-a 3.11.2013

1) OOP vzniklo jako reakce na problémy, s kterými se někteří programátoři potýkali. Klade si za cíl především dobře udržovatelný kód, který bude znovupoužitelný a snadno rozšiřitelný. Taktéž má usnadnit přenesení domény reálného světa do počítače tím, že umožňuje daný problém namodelovat.

2) OOP, stejně jako ostatní styly, je o určitém způsobu myšlení. Stejně jako to, že mám v kódu funkci ještě neznamená, že programuji funkcionálně, tak ani třída neznamená, že programuji objektově. Zatímco v procedurálním programování mám funkci a v ní jasně daný algoritmus, v OOP se mi takový algoritmus může rozpustit mezi objekty.

Shrnutí: pokud máte nějaký styl, v kterém programujete, a ten styl vám nepůsobí žádné potíže a umíte v něm uvažovat, tak u něj zůstaňte =)

Dodatek pro vytrvalé čtenáře:

Ono totiž každému vyhovuje něco (a taky ne v každém jazyce je každý styl vhodný). Zatímco já se děsím kódu typu Adminer a při přemýšlení nad programem se mi rýsují oddělené vrstvy, objekty, jejich vlastnosti a metody, kterými spolu budou objekty komunikovat, Jakub Vrána se nebrání HTML v PHP souboru. Znamená to snad, že je jeho aplikace horší? Nebo že je horší programátor? Nebo snad lepší?

Znamená to jenom to, že jemu se takhle programuje dobře a je takhle efektivní a produktivní.

Pro zobrazení všech 13 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.