Starší komentáře ke článku: Zend's PHP 5 Coding Contest - PRADO framework
Zpět na článek | Úvodní stránka Interval.cz
Datum vložení: 10.12.2004 12:00:34
Velmi zajímavý článek, avšak nejsem si jist tím, jak to bude s hostingem na serverech, které by toto měly podporovat. Jinak si myslím, že je to velmi perspektivní technologie, díky které se PHP zase dostane o krůček dál, snad opět na výchzí aplikaci ve vývoji webových aplikací. Nepřečetl jsem článek až do konce, ale jsem si jist, že se spöusta z nás s tímto produktem jistě velmi brzy setká z očí do očí.
Přeji hezký den, a těším se nashledanou.
S pozdravem J.V.
Datum vložení: 10.12.2004 13:57:00
Clanek i dokumentaci k PRADO 1.7 z <a href='http://interval.cz/__redirect/redirect.asp?what=interval_discussion&url=http://www.xisc.com/documentation/tutorial.html' target='_blank'>http://www.xisc.com/documentation/tutorial.html</a> jsem bedlive prostudoval. Znam pristup DELPHY i .NETu k webu. Presto nesouhlasim s tim, ze PRADO je pokrok kupredu k JAVE ci .NETu. Nezlobte se, ale hru Hangman Game bych napsal do 2 php souboru, s minimalnim kodem. Jedna stranka grafikca s xhtml formularem (form.php), ktery je odeslam do validacniho formulare (form_validace.php), ktery vsechno zpracuje a preda zpet rizeni do form.php. Proste klasicke - NEOBJEKTOVE programovani. Jednoduche, pruhledne, snadne a NEPRACNE.
K tomu, abych udelal podobnou vec v PRADO bych se musel naucit vsechny tridy okolo, nemluve o bezpecnosti atd... Objektovy pristup na malych i velkych projektech posbyva smysl a ja jej nepreferuji. 99% procent veci resi includovane funkce, ktere jsou spolecne projektu a zbytek je zcela odlisny a musi se napsat. Nevidim duvod proc to psat objektove, kdyz to lze napsat rychleji neobjektove, snadneji a prehledniji v obycejnem PHP!
Datum vložení: 10.12.2004 14:12:21
To, že objektové programování má přínost, o tom není sporu. V dnešní době neexistuje jediný rozsáhlý projekt, který by nebyl psán objektově. To, že jej někteří programátoři neumí používat, to je jiná věc...
Ano, psát "natvrdo" aplikaci HANGMAN bude jednodušší, nicméně, pokud si vytvořím nad PRADO sadu 100 komponent, které budou dělat věci od zobrazení formuláře po elektronický obchod, potom již tento objektový kód bude mnohem menší, snadněji udržovatelný, a efektivnější. Další aplikaci potom již jen "poskládám" jako sadu 80 komponent, s tím, že 20 z nich podědím a mírně upravím. Ve Vašem případě by jste 20 "include" souborů musel zcela přepsat, a udržovat pro každou aplikaci jejich specifickou verzi. A to je obrovská ztráta času, efektivity, a zanese to do projektu více chyb...
Datum vložení: 10.12.2004 14:56:14
Obejtove programovani umi, ale praxe me na PHP projektech naucila pravemu opaku! Kazdy projekt je od jeho zacatku, analyzi az po jeho testovani je svym zpusobem unikatni. OOP na strane serveru je zcela nahraditelne jednim souborem s definici mnoha obecnych vlastnsti (overeni validyty, start session, atd.) Pri vzniku noveho projektu staci, kdyz si prekopiruji pouze tento jeden soubor. OOP je JAVE ci v C# ma velke uplatneni pri tvorbe GUI. Nedovedu si predstavit znovu programovat funkcionalutu napr. zamereni FOCUSU vsech komponent. Ano, v GUI a desktopovych aplikacich ma vyznam vyuzivat OOP. Ale o komponentach na strane serveru psanych v OOP, s tim nesouhlasim.
Pracuji v programatorske firme, kde je .NET s jeho OOP vyuzivan tez i na webove projekty. Ja nevim, ale na projektu jsou 4 lide a ja na PHP sam a pritom delam uplne stejne velke projkety jako oni. Dam Vam hned priklad. Vemte si rozsahly formular, ktery ma zavisla vstupni pole. Ten by jste mel validovat JavaScriptem na klientovi - aby uzivatel nezatezoval zbytecne server tim, nez zjisti, co je zavisle na cem. - a na serveru k validite dat. Nezlobte se, ale v JAVE, .NETu ci PHP to musite psat sam a znovu. Vy to pisete v objektech, ja nikoliv. Ani konexi na DB nemam jako objekt. Nehlede na to, ze ja mam vsechno pod kontrolou (xhtml formulare se sebemensim grafickou nianci), kolegove uz 3 roky nikoliv, protoze hold .NET nema moc propertis a nikdo taky nema cas studovat a vytvaret nove komponenty...
Verim, ze Vas nepresvedim, ale zkuste presvedcit Vy me. Opravdu bych tez rad pouzival OOP v PHP na strane serveru, ale zatim jsem nevidel nic, co by stalo opravdu za to.
Datum vložení: 10.12.2004 15:03:22
Je řada věcí, které bez dedičnosti a objetků nejdou udělat. 99% lidí to chápe, a naučí se objekty, i když "procedurální" programování a include() je mnohem jednodušší.
Příklad kde to funguje? <a href='http://interval.cz/__redirect/redirect.asp?what=interval_discussion&url=http://blogcms.com/' target='_blank'>http://blogcms.com/</a>
Datum vložení: 10.12.2004 18:03:55
No zrovna BlogCMS je priklad velmi spatneho objektoveho navrhu. Ja tomu rikam spaghetti OOP :-)
Ale nic proti tobe vychazi to ze spatneho OO navrhu jadra Nucleusu, takze je to pouze dedictvi.
Datum vložení: 11.12.2004 9:27:39
No jasně, Zdeněk je odborník na BLOG:CMS / NucleusCMS. Ach jo..
Ten systém má MB kódu, znáš je dokonale? A víš i to, rýpálku, že VŠICHNI lidé, co tomu skutečně rozumí, BLOG:CMS/NucleusCMS oceňují právě pro jeho objektový návrh a dokonalou podporu pluginů, kterou nemá žádný jiný systém?
Vyprávět by o tom mohl třeba David Grudl, který WordPress vyměnil právě za BLOG:CMS: <a href='http://interval.cz/__redirect/redirect.asp?what=interval_discussion&url=http://www.dgx.cz/trine/item/opoustim-wordpress' target='_blank'>http://www.dgx.cz/trine/item/opoustim-wordpress</a>
Datum vložení: 11.12.2004 11:26:40
> No jasně, Zdeněk je odborník na BLOG:CMS / NucleusCMS. Ach jo..
Clovek nemusi byt odbornik na BLOG:CMS nebo Nucleus - staci se zbezne podivat do kodu.
>Ten systém má MB kódu, znáš je dokonale? A víš i to, rýpálku, že VŠICHNI >idé, co tomu skutečně rozumí, BLOG:CMS/NucleusCMS oceňují právě pro >jeho objektový návrh a dokonalou podporu pluginů, kterou nemá žádný >jiný systém?
Tem, co tomu "skutecne rozumi", nevadi, ze trida Admin ma pres 5500 radku kodu, pripadne trida Blog pres 1000 - cili GOD classes nebo pouziti globalnich promennych (v OOP nemaji co delat) nebo "skvele" resena spoluprace s DB a to uz vubec nemluvim o spatnem oddeleni (spise neoddeleni) aplikacni logiky od prezentacni.
Pokud nekdo takto rozumi OOP, pak smekam klobouk a okamzite si od toho cloveka objednavam skoleni.
>Vyprávět by o tom mohl třeba David Grudl, který WordPress vyměnil právě >za BLOG:CMS: <a href='http://interval.cz/__redirect/redirect.asp?what=interval_discussion&url=http://www.dgx.cz/trine/item/opoustim-wordpress' target='_blank'>http://www.dgx.cz/trine/item/opoustim-wordpress</a>
O cem - o tom, ze je BLOG:CMS lepsi system nez WordPress? To je bezesporu pravda. Nebo o tom, jak je BLOG:CMS skvele objektove navrzeny?
Abys to spravne pochopil - neminim do tebe rypat. BLOG:CMS je dobre pouzitelny system, ale davat ho jako priklad nekomu, koho chci presvedcit o vyhodach OOP v PHP - to radsi opravdu ne.
Datum vložení: 11.12.2004 14:36:38
No, v BLOG:CMS se používá přesně 7 global proměnných, jsou to cesty v config.php, a to je ZCELA v pořádku. Zbytek je dokonale a nádherně objektový, třeba toto je příklad objektového kódu, který v článku automaticky provede "syntax highlighing" pro zhruba 30 jazyků:
<a href='http://interval.cz/__redirect/redirect.asp?what=interval_discussion&url=http://cvs.sourceforge.net/viewcvs.py/*checkout*/blogcms/main/admin/plugins/NP_Geshi.php?rev=1.5' target='_blank'>http://cvs.sourceforge.net/viewcvs.py/*checkout*/blogcms/main/admin/plugins/NP_Geshi.php?rev=1.5</a>
Datum vložení: 11.12.2004 15:45:39
Hmm zajimave - podival jsem se do souboru SKIN.php a nasel jsem v nem 19 globalnich promennych a nektere z nich rozhodne nevypadaji jako cesty v config.php - soude dle jmena. Namatkove treba: itemidprev, itemidnext, catid, ...
No i kdyby to byly jen veci spojene s configem, tak neni duvod davat je jako globalni promenne - moznych reseni je spoustu.
Abych jen nekritizoval - system pluginu neni vyreset zase tak spatne.
Kdyz uz sem davas ukazky hezkych reseni, tak i jedno spatne ;-)
<a href='http://interval.cz/__redirect/redirect.asp?what=interval_discussion&url=http://cvs.sourceforge.net/viewcvs.py/*checkout*/blogcms/main/admin/libs/ADMIN.php?rev=1.5' target='_blank'>http://cvs.sourceforge.net/viewcvs.py/*checkout*/blogcms/main/admin/libs/ADMIN.php?rev=1.5</a>
Datum vložení: 11.12.2004 21:33:07
No, ADMIN.php psal z valná částí Wouter Demuynck, dobře napsané NP_Geshi jsem psal já (jako 90% všech pluginů) ;)
Datum vložení: 17.12.2004 5:04:59
mimochodem, za syntax highlighting z velke casti muze zcela uplne jiny kod a to tento: <a href='http://interval.cz/__redirect/redirect.asp?what=interval_discussion&url=http://cvs.sourceforge.net/viewcvs.py/blogcms/main/admin/plugins/geshi/geshi.php?rev=1.2&view=markup' target='_blank'>http://cvs.sourceforge.net/viewcvs.py/blogcms/main/admin/plugins/geshi/geshi.php?rev=1.2&view=markup</a> aby nahodou nedoslo k pomyleni nekterych neznabohu. z toho NP_geisha je videt akurat jakas/takas schiza autora ;)
Datum vložení: 15.12.2004 8:22:56
Jsi trapny demagog. Na svem blogu pises, ze vetsina lidi na svete jsou lamy a hlupaci a tady najednou pises, ze "99% lidí to chápe". Pouzivas jen to co se ti hodi a kolikrat to ani neni pravda(coz je castecne zpusobene i tvou neznalosti ;-).
Dalsi dukaz toho, ze jsi moralne v haji. V hlave mozna neco mas, ale ta tva huba... Hole nestesti.
Datum vložení: 11.12.2004 11:13:00
To ze te praxe s php naucila nepouzivat oop je docela smutne.... bud to neco vypovida o tobe nebo o php! nehodlam se tu hadat o tom, jestli je lepsi php nebo .net ci java, ale kdyz si mluvil o ty validaci javascriptem, je videt ze .netu rozumis jako koza petrzeli! co treba validation controls?? vis o nich neco? to je vcelku vykony zpusob validace na klientu javascriptem.... a vubec nemusis psat zadny js funkce.....
o pouzivani oop v php te presvedcovat nehodlam, php oop pouze predstira, PRADO vypada jako slusny krok kupredu, ale jak bylo receno ke konci clanku, do dokonalosti to ma jeste hodne daleko! at se na me nikdo nezlobi....
souhlasim s tim, ze temer vse jde udelat v tom i v tom, brat na mensi weby (jako osobni stranky apod.) .net ci javu je jak brat kanon na vrabce, ale psat rozsahle projekty v php je jak jet zavod formule 1 ve fabii.... Proste to tak je, zkousnete to nebo nechte byt....
co kooperace 5 programatoru na jednom projektu? bud muzu napsat 4 objekty, ktery pouziji vsichni ostatni stejne jako kterekoli jine objekty nebo jim poslu 6 souboru pro include a poperte se s nima.... to je proste neefektivni...
Datum vložení: 11.12.2004 20:03:45
"vis o nich neco? to je vcelku vykony zpusob validace na klientu javascriptem.... a vubec nemusis psat zadny js funkce..... "
Nejaky priklad webove stranky na internetu, ktera to pouziva, abych se podival na ten js kod? Leo
Datum vložení: 13.12.2004 11:06:53
No, môj názor je rovnaky, .NET je dobry pre rýchle napísanie kodu, ale je to pekna prasačina ... a žiaľ, opäť len učí programátorov pohodlnosti, ďalšiemu praseniu kodu atď... Za to nám treba lepšie linky do interneu, prenesie sa viac dát, treba výkonnejšie PC s väčšou RAM... nakoniec je to všetko napísane nad neobjektovým jazykom, ale pre pohodlnosť (súhlasím, aj rýchlosť programovania) je lepšie .NET
Datum vložení: 13.12.2004 13:08:32
Ja jsem nevyjadroval nazor, predtim bych rad videl jak vypada ten kod co se posila do prohlizece. Leo
Datum vložení: 15.12.2004 8:43:42
no, bohuzel v hlave nenosim seznam webu pouzivajici validation controls, znam lepsi uplatneni pro pamet.... kazdopadne jestli o tom chces vedet vic, staci jit na <a href='http://interval.cz/__redirect/redirect.asp?what=interval_discussion&url=http://msdn.microsoft.com' target='_blank'>http://msdn.microsoft.com</a> - tam najdes urcite hodne info!
Datum vložení: 15.12.2004 12:36:49
Dekuju, ale v tom se hrabat nehodlam. Vcera jsem se zbezne dival na par veci z ASP.NET a dozvim se tam akorat jak se to pise v ASP.NET - ne jaky kod to generuje a posila do prohlizece. Leo
Datum vložení: 17.12.2004 13:03:14
Váš problém je v tom že ste nenahraditeľny. Áno procedurálne programovanie je super a efektívne ale len pre machrov ako ste vy. Naučte sa OOP a uvidíte že budete machrom aj tam.
Je zbytočné ohovarat OOP len preto že nemám čas sa ho naučit. Tat ste si vymyslel túto teóriu o špatnom OOP.
Datum vložení: 10.12.2004 14:43:35
zhruba 100 komponent pro PRADO je zde:
<a href='http://interval.cz/__redirect/redirect.asp?what=interval_discussion&url=http://www.xisc.com/forum/viewforum.php?f=6' target='_blank'>http://www.xisc.com/forum/viewforum.php?f=6</a>
Datum vložení: 10.12.2004 15:28:10
ctu onu stranku a diskusni skupiny ke komponentam a mam takovy pocit, ze tohle vsechno je ale uplne o necem jinem. Je to o tom, ze klient na HTML ci XHTML nema komponentydo nichz by se davaly data v podobe XML a to vse by se generovalo na serveru. Ano, o tom to presne je. Je tu phpckovy projekt, ktery supluje pruser klinta. Ma to spostu chyb a nedokonalosti. Ja se radeji budu zabyvat tim, jak udelat design webu podle toho, co chci ja a nebudu se zabyvat studiem miliony komponent, abych pochopil nejprve jejich vypovidajici hodnotu a pote je cele preprogramoval. Tomu rikate rychly vyvoj? Netvrdte mi, ze kdyz si TabSheet udelate na jednom projektu modro zeleny, protoze to design zada, tak ho budete dosmrti pouzivat. Ba ne, v dalsim projektu tu preprogramujete.
Je to cele o tom, ze klient neumi to, co umet ma. Tedy XML komponenty a ne ze budem pouzivat reinkarnovany DIV a SPAN tag v PHP kompoentach k tomu, aby zakaznici jasaly nad uzasnosti webu. Zatim to nepochopila ani Macromedia se svym FLEXem a ani W3C, ktere nezaintegrovalo XUL.
Vratim-li se k serverovemu OOP, tak jste me stale nepresvedcil.
Datum vložení: 11.12.2004 9:29:28
Ale ano, já i říkám, že cpát do PHP událostmi řízený framework je "chození s batohem na zádech", ten jazyk pro to není určen, a je to vidět. Naprostý souhlas!
Re: OOP, pokud někdo neumí dokonale programovat v OOP, není mu to možné ani vysvětlit, a už vůbec ne na prostoru komentářového okénka...
Datum vložení: 12.12.2004 19:54:47
Pouzivam objektovy kod na geenrovanie casto pouzivanych cinnosti v PHP, popripade pri interakcii s databazami. Kazdy dopyt do databazy mi vrati objekt urciteho typu (CDataset), z urcitymi vlastnostami. 90 percent kodu tried je u mna znovupouzitelna pre dalsie projekty (komercne). Pri tych dalsich staci prepisat par vlastnosti, popripade zdedit triedu. K pouzivaniu OOP ma viedli prakticke dovody - cas, prehladnost, udrziavatelnost projektu. Kedze som si triedy sam pisal a navrhol je ich pouzivanie rychlejsie. Neviem si uz predstavit, ze by som mal includovat mnoho suborov , mnozstvom globalnych premennych ($link, $logged, $isuser a podobne...). Co sa tyka frameworku PRADO, klobuk dolu (po programatorskej stranke). O jeho nedostatkoch som uz pisal v inom prispevku. Suhlasim vsak s nazorom, ze na velke projekty, s mnozstvom dat a pristupov na server je celkom nevhodny. Niekto tu vravel ze mu uplne staci pouzivanie include() a podobne. Nuz mal som to "stastie" dorabat nejake veci v takomto projekte. Bol to dost velky projekt a ja som skoro prisiel o nervy ked som s musel davat pri kazdom riadku mojho kodu pozor aby som neprepisal nejaku globalnu premennu.
Pan Hulan myslim ze je zbytocne vysvetlovat vyhodu OOP v PHP tomu kto o to vobec nestoji. Ako sa vravi neucte prasa spievat, bude z toho nervozne a aj tak ho to nikdy nenaucite.
Datum vložení: 14.12.2004 11:05:58
dobry den,
tak musim konstatovat a podekovat za Vase prispevky. Ano, presvedcili jste me. Prostudoval a navrhnul jsem si par class a rikam ANO. OOP v PHP na vetsi projekty ma svuj vyznam. Diky.
Datum vložení: 21.12.2004 4:54:26
Na PRADO jsem se díval ještě před vyhlášením výsledků Zend's PHP 5 Coding Contest (jako na soutežní práci). Pracuji téměř rok na nečem podobném, tak jsem hledal inspiraci.
PRADO umí udělat dojem. Tedy ten první. Nejspíš proto taky soutěž vyhrálo (mimochodem, těch trošku slušných soutěžních projektů bylo méně než počet cen ;-).
Ale praktické využití je zase velmi problematické. PRADO se hodí spíš na akademickou půdu, jako prostředek výuky, než do pracovního nasazení. Tipnul bych si, že autor bude student, nikoliv zaměstnanec vývojářské firmy.
Mimochodem, už i toho hloupoučkého zmiňovaného Hangmana <a href='http://interval.cz/__redirect/redirect.asp?what=interval_discussion&url=http://www.artsage.com/prado-demo/examples/hangman.php' target='_blank'>http://www.artsage.com/prado-demo/examples/hangman.php</a> si bez javascriptu nezahrajete....
Datum vložení: 22.12.2004 17:12:52
I to je Davide důvod, proč jsem se prvně podíval na wtcSQLite, protože to je na rozdíl od PRADO skutečně použitelné, neakademická, aplikace, a myslím, že můj pohled na PRADO jsem dostatečně shrnul v závěru..
Datum vložení: 28.10.2007 16:06:11
Hello! You have a Very good site! I like it! I just wanted to pass on a note to let you know
Datum vložení: 30.6.2005 9:57:13
paaaani, co to tu citam? pred 2 tyzdnami som sa zacal venovat PHP5 hlavne koli interfejsom, v ktorych je nevidana sila, toto prado je kusok na prdel, ale prerabam servlet technologiu do tohto script. jazyka a poviem vam, ze je PHP5 je sila, ono PRADO je strasne pochabe, ale daju sa v tom porobit krasne veci, PRADO nepochobilo velmi logiku interfejsov a o eventoch ani nehovorim, uz by ste sa mali spamatat a zistit, ze robit v html aj v php je low-end, ludia by sa s HTML nemali vobec zatazovat a makat na business vrstve a k tomu je PHP5 ako stvorene:-) --specializovany vyvojar enterprise frameworkov:-) - aspon tak mi hovoria xixi