54 komentářů k článku Zend Framework: Hello world:

  1. Michal

    pochybnosti

    Nevím kolik toho má autor naprogramovaného v ZF, ale toto uchopení tématu se mi zdá býti značně nešťastné (přesto se mi první díl zdál dosti slibný)

      1. Martin Hassman

        Re: pochybnosti

        Děkujeme za informaci o vašich intelektuálních schopnostech. Ale my u priečinků rozhodně neskončíme 8-)

      1. https://tomasfejfar.mojeid.cz/#bLGPpVT97A

        Re: pochybnosti

        Nerad kritizuji, když jsem sám nic nevytvořil, ale pokusím se konstruktivně. Tenhle díl ukázal, jak se to dělat nemá (echovat v controlleru). To by mělo být maximálně uvedeno jako „takhle to nedělejte, ale jde to“. V textu ale není o tom, že je to špatný přístup ani slovo. Pominuli-li, že je to prasecké, tak čtenář narazí velmi brzy na to, že se mu to kvuli output bufferingu nebude posléze vůbec echovat tam, kde si představuje…

        V neposlední řadě také nedodržuje coding standards (správně je controller HelloWorldCon­troller – jeho url a název složky s view pak hello-world).

        Na druhou stranu je třeba hodnotit kladně, že se někdo pustil do českého step-by-step tutoriálu pro začátečníky. I když možná by bylo lepší vycházet z existujícího tutoriálu (aka Akrabatu), ke kterému existuje i český překlad (http://www.zendframework.cz/zaciname-se-zend-frameworkem-preklad/) od Martina Hujera.

        Reklama: Osobně se také snažím do komunity něčím přispět a trochu ji rozhýbat pomcí ZF meetupů (http://srazy.info/prvni-zf-meetup-praha/2341). Ale zatím se tam scházíme spíš pokročilejší vývojáři a tomu také přizpůsobujem program. Ale určitě se nebráníme uspořádat nějaký quickstart někdy.

      2. Cooler

        Re: pochybnosti

        Taky bych se rád přidal, pokud možno konstruktivně.
        Chápu, že každý hned chce hello world…
        Zend mě živí, ale takhle bych se ho nenaučil, jenom by mě to mátlo.

        1. Zend Framework je především MVC. Pokud nebude jasně vysvětleno co je M, co je V a co je C a která funkcionalita kam patří a jakými návrhy se řeší, nemá to smysl.

        2. Zend_Tool jsem nikdy nepotřeboval. Možná je super, co já vím. Každopádně ale zase něco bude dělat věci místo mě, aniž bych jim rozuměl.
        To je pro výuku IMHO špatně.

        3. OOP je OOP. V případě frameworků, rozhodně v případě Zendu, je o dědění tříd, které již v Zendu existují.
        Nejprve je potřeba vysvětlit co která třída kdy kde dělá a až potom ji jít dědit a rozšiřovat.

        4. U velkých MVC frameworků je hlavní problém s tím KDY, tedy kdy se co zavolá, co se zavolá dříve, co později atd.

        Očekával bych tady obrázky jako Request Lifecycle, Dispatch Workflow atd. Bez toho to totiž nikdy nikdo nemůže pochopit. Může napsat hello world, může i vytahat data z databáze a vypsat je do tabulky, ale nemůže umět Zend.

        1. Cooler

          Re: pochybnosti

          Jo a koukám, že někdo udělal echo v Controlleru.
          Takže první, základní, naprosto zásadní pravidlo MVC bylo porušeno hned na začátku.
          To si – s dovolením – nedělejte p*del.

        2. David Grudl

          Re: pochybnosti

          Hello world všichni znají a vyplatí se jít podle Komenského didaktických zásad: od jednoduchého ke složitému, od známého k neznámému.

          1. omelkes

            Re: pochybnosti

            To je sice pravda, ale zrovna tento způsob není příliš šikovný. Není ani příliš jednoduchý (není řečeno proč používat MVC), ani není správně (echo v control).
            Pravda je, že vede od známého. Hello world znají všichni.
            Ale na vypsaní Hello nepotřebuji framework, to mi stačí html.

            Podle mě výborně je to vysvětleno na stránkách symfony:
            http://symfony.com/doc/master/book/from_flat_php_to_symfony2.html

            Celý myšlenkový postup článku postupuje od vylepšování čistého PHP přes jasné a logické úpravy až k MVC a násleně k tomu jak je ten samý příklad udělán v symfony. A z článku je jasné proč nepoužívat echa v modelu a controleru.

              1. omelkes

                Re: pochybnosti

                Nikde jsem nic takového neřekl. Ten odkaz je ukázka toho jak si myslím, že by se takové články měli psát. Rozhodně svůj názor redakci nevnucuji a nechci aby přepsali dokumentaci symfony, tu si umím přečíst sám.

                Na druhou stranu, autor článku ten odkaz nemusí znát, a třeba se nad tím zamyslí a další článek napíše lépe. Nebo toho nechá úplně. Nebo bude psát dále, stále stejně. To už je na něm a na redakci.

                1. Michal

                  Re: pochybnosti

                  V pohode, je to tvuj nazor a ja chapu proc ho mas. Stejne si ale myslim, ze ten clanek kvuli tomuhle rozhodne nemusi bejt spatnej.
                  Me vzdycky prekvapuje kolik lidi v diskuzi vi o tom jedinem zpusobu jak se takovy clanky maji psat, zrejme je jinde pisou a ja o nich nevim..

                  Podle me je dobre ze autor ten clanek pise a rozumy napriklad o tom, ze v controleru se echo nepise mi prijdou zcestny.
                  Spousta clanku je totiz mnohem lepsich prave kvuli tomu, ze nektere veci proste vypustej a touhletou prasarnou se malicko priblizi novackum, ktery jsou zvykly echovat v proceduralnim skriptu.

                  Myslim si ze lidi by si meli z tech clanku umet vzit co jim muzou dat a bejt trochu trpelivejsi v tom za co zbuznout autora.
                  Nepochopim ze nekdo ma zapotrebi nadavat autorovi kvuli tomu, ze neumi napsat gramaticky spravne vetu. O to prece vubec nejde.

                  1. omelkes

                    Re: pochybnosti

                    Být nováček, tak se po přečtení sám sebe ptám, proč použít MVC a Zend, když je to složité, pomalé, je tam spousta knihoven navíc a vlastně to píši stejně jako svůj procedurální kód, který vypadá stejně, jen místo 30 ms to trvá vteřinu.
                    Na tuhle otázku článek neodpovídá a v tom je ten základní problém.

                    Takže to není použitelné pro člověka, který chce použit MVC a pochopit ten návrhový vzor. Neodpovídá na otázky jak a proč se používá.

                    A jako úvod do zendu pro člověka co ví co je MVC a chce si vybrat framework to také není dobré, protože hned na začátku jsou v kódu ty prasárny, které nechce používat.

                    Co se týče kritiky gramatiky, nebo sloveštiny, tak v tom souhlasím. A také ji nekritizuji.

                    1. alancox

                      Re: pochybnosti

                      Psát pro začátečníky je ukrutně těžké.

                      Když jsem dopsal svou dávnější knihu „PHP a MySQL bez předchozích znalostí“, tak se z větší části skládala z vysvětlivek, které začátečníkovi vysvětlují asi miliardu věcí.

                      Zároveň jsem doufal, že příště budu psát pro profesionály, protože je to asi tisíckrát jednodušší a je s tím tisíckrát méně práce.

                      Psát pro začátečníky má jednu výraznou výhodu – uspokojíte tím masochistické choutky, pokud nějaké máte. Protože začátečníci čekají OBJASNĚNÍ, zatímco kritikové z řad profesionálů čekají VĚDECKOU PRÁCI na obhájení velkého doktorátu a složitý terminologicky nečitelný rukopis.

                      Když napíšete úspěšnou a velmi dobrou knihu/text pro začátečníky (jako se mi to třeba povedlo s mou knihou), pak si můžete být na tuty jistí, že vás zpraží profesionálové – protože, protože jim to přijde moc jednoduché. Když Vás začnou chválit příliš mnoho profesionálové z řad „já už to dělám mnoho let“, pak víte, že kniha/článek/text pro začátečníky je napsán špatně. Je napsán pro jiného čtenáře, než je začátečník.

                      Psát pro začátečníky je pekelně těžká práce, jedna z nejtěžších, které si můžete v technickém textu stanovit.


                      Budou to právě profesionálové, kteří budou trvat na tom, že předtím, než začátečník napíše Hello World musí být vysvětleno asi sto tisíc termínů, vztahů, obrázků, vnitřních implementačních detailů. Běda jestli je budete plně poslouchat při psaní textu pro začátečníky. Co na tom, že začátečník ztratí motivaci a vykašle se na to, nebo to nepochopí?

                      Ba právě naopak, musí být vysvětleno naprosto nezbytné minimum co jde. Není třeba na začátek vysvětlovat, co přesně MVC je. Proč? Je možné to nastínit a postupně upřesňovat a doplňovat jak bude potřeba.

                      Neměly by ovšem být používány špatné techniky a pokud ano, mělo by být výrazně upozorněno, že takto ne (Controller plnící úlohu View).

                      Prostě jsou dvě jistoty při psaní článku pro začátečníky:

                      1) chvíli trvá, než se člověk naučí psát pro začátečníky

                      2) profesionálové a znalí vás zkritizují, že by si pes od vás kůrku nevzal

                      (Pokud vás znalí nekritizují, píšete pro začátečníky špatně!!! Většina profesionálů má velmi úzké zaměření pohledu a v jeho mozku není poznatek, že text se musí psát s ohledem na cílového čtenáře.)

                      1. omelkes

                        Re: pochybnosti

                        Souhlasím, psát pro začátečniky je těžké, a člověk by se měl držet jednoduchosti a snažit se uceleně vysvětlit jednu věc. Proto se mi článek nelibí, protože vysvětluje dvě věci současně poněkud neštastným způsobem.

                      2. Jakub Vrána

                        Re: pochybnosti

                        Ať už se píše jakýkoliv text, tak v něm nesmí být chyby. Pokud v něm jsou záměrná zjednodušení, tak je vhodné na ně upozornit. Dobrá forma je: „Mohlo by vás to napadnout napsat takhle… Ale to by mělo tyhle problémy, takže je lepší to napsat takhle…“. Nebo aspoň: „Tenhle přístup má určité problémy, jak si ukážeme v dalším díle.“

                        Souhlasím, že napsat text pro začátečníky je těžké, ale tenhle článek by mohl mít mnohem míň chyb a přitom být pro ně stále stravitelný. Například já jsem v ZF začátečník a na základě tohoto článku bych se naučil především zlozvyky.

    1. Pilgrim

      Re: pochybnosti

      Taky tak nějak nemohu pochopit, co má tento článek společného s ZF. Je vůbec potřeba psát články o ZF? Buď napíšu článek o OOP nebo o ZF jako takovém. Jestli někdo neumí OOP, tak nechť si o tom přečte jinde.

  2. Wenca

    dependency injection.

    O zendu nevim zhola nic, nicmene pocitam ze i zend ma neco jako dependency injection. Nebylo by vhonde jiz od zacatku ucit lidi vyuzivat DI a mit tak dobry zaklad pro testovatelny kod?

    A nabizi se taky jista souvislost s jinym aktualnim serialem na zdrojaku a to „Testování a tvorba testovatelného kódu v PHP“, co kdyby serial o Zendu privadel pravidla ze serialu o Testovani do praxe? Urcite by to rade lidi pomohlo oba problemy pochopit vice v kontextu.

    1. Martin Hassman

      Re: dependency injection.

      Obávám se, že silnější provázání obou seriálů nedokážeme. Vycházejí souběžně, mají své připravené osnovy a domluvy mezi autory by to (oběma autorům) dost komplikovali. Nicméně nebráníme se vydání podobných spojovacích textů do skončení obou seriálů, pokud je někdo bude chtít napsat.

      1. LesTR

        Re: dependency injection.

        Nejde jen o to, že je složité provázat práci dvou autorů, hlavní problém je v tom, že Zend ve verzi 1.x nemá DI a ani mít nikdy neměl. Bohužel, díky velkým prodlevám s 2.0 ZF hodně upadl a z měho pohledu jej Symphony zválcovalo, a to nejden kvůli DI.

        Větev 1.x je minimálně 2 roky v težké stagnaci a ačkoliv nechci autora odraďovat od psaní, o této verzi imho neměl psát. Zvlášť ne v čechách, kde vládne Netteismus a i Nette verzi 1.x strčí do kapsy asi tak 20x (říká člověk, který se ZF věnuje od verze 0.8, má nespočet commitů v repository, x let platné ZF CLA a filosofii Nette nemá rád :D)

        Bohudík 2.0 která je teď ve stavu RC4, je někde úplně jinde a vrací ZF tam kde má být. O tom by měl někdo napsat, protože zde přichází to co je v čechách zrovna IN (ano, DI a testovatelnost kódu – počkejte si na blesk na molo).

        Myslím že psát seriál o ZF 1.x je vícenež nešťastné, mám tento framework rád kvůli jeho komplexnosti, ale v tuto dobu to bude jen olej na oheň trollům.(Zde si neodpustím rýpnutí: něco jako článek od JV: co můj notorm umí a váš hloupý docritrine2 ne!)

          1. LesTR

            Re: dependency injection.

            Martin Hujer, případně Tomáš Fejfar můžou být jedním z Hrdinů. Sám bych rád něco nepsal, jenže kde vzít čas a nekrást :(

          2. Opravdový odborník :-)

            Re: dependency injection.

            Superman se sám od sebe neobjeví. Ale zkuste zvednout honoráře alespoň na trojnásobek a zaveďte oponenty (ne, korektor – jestli tu vůbec nějaký je – nestačí).

            1. Michal

              Re: dependency injection.

              Proc myslite ze vsechno vzdycky ma vyresit nekdo jinej?
              Bud prilozim ruku k dilu, nebo aspon drzim krok a nekritizuju ostatni, kteri z vlastni vule a za hubicku (pokud ne zdarma) neco delaji ne?
              Myslim ze totez se Vam snazi nastinit autori toho clanku a maji pravdu. Neumim si ani predstavit jak frustrujici musi bejt psat nejakej podobnej serial, davat tomu svou energii a potom cist v diskuzich kritiku gramatiky..

  3. hurvajs77

    Vazne nadhera :-(

    Koukam, ze psat clanek na Root.cz uz muze psat kdokoliv. Autor „programator“, ktery uci jine lidi psat v ZF a sam udela takove praseciny jako je echo v controlleru, nedodrzeni stabni kultury, by radeji nic psat nemel. Nehlede na to, ze dnes, pokud by se psal clanek, tak by mel byt spise o ZF2.

    Nechapu redakci, pokud musela zacit vydavat claneky o ZF, ze treba neoslovila nekoho fundovaneho jako je treba Martin Hujer nebo Tomas Fejfar. Na druhou stranku lepsi tohle, nez clanek o nette paskvilu

    1. Martin Hassman

      Re: Vazne nadhera :-(

      Děkujeme za vážně nádherný názor 8-) Na většinu jsem už odpověděl dřív. Pokud Martin a Tomáš někdy budou chtít něco napsat, mají dveře otevřené. Fakt, že o Zendu za ty dlouhé roky co se v ČR používá vzniklo jen minimum materiálu v češtině o něčem svědčí. Na druhou stranu se nám to třeba podaří změnit.

      1. hurvajs77

        Re: Vazne nadhera :-(

        To, ze nevznikly dokumenty v cestine o ZF, je spise tim, ze drtiva vetsina programatoru umi anglicky alespon na urovni psanych textu. Staci projit Google a dostanene plno odkazu na clanky. Samotny Zend ma tutorial na svych strankach :).

        Prominte, ale jestli bude autor pokravovat v dalsich dilech stejnym stylem jako doposud, tak rozhodne nezmenite stav ceskych clanku o ZF. Prijde mi, ze autor videl ZF z hodne rozjeteho rychliku.

    2. Michal

      Re: Vazne nadhera :-(

      Dokonala ukazka češství v diskuzich. Presne kvuli tomuhle tady techhle clanku vychazi jak safranu.

      1. Opravdový odborník :-)

        čím to asi bude...

        Zajímavé je, že mentalita čtenářů je zhruba konstantní, ale výraznější úpadek tohoto (pod)serveru se objevil až po změně provozovatele a šéfredaktora.

        1. Martin Hassman

          Re: čím to asi bude...

          Jenže to je bohužel špatná metrika. Obecně vnímaná kvalita se zhoršuje s časem vždy téměř nezávisle na změnách (stačí dlouhodobě sledovat vnímání jakéhokoliv zpravodajského projektu). Tím netvrdím, že se zlepšujeme (ani zhoršujeme), pouze to, že vnímání „je to horší a horší“ je konstantní všude.

  4. Pepa

    už zase?

    Kolik nových webových projektů, aplikací a startupů za posledních 5 let vzniklo na PHP a jeho frameworcích? Já si žádnej nevybavuju, skoro všechno je Django/Python nebo Rails/Ruby. Já chápu, že PHP má v ČR historicky velmi silnou základnu, ale jsem přesvědčenej, že když sem zavítá nějakej nováček a vy ho uvrtáte zase do PHP, tak mu nesmírně ublížíte.

        1. Pooky

          Re: už zase?

          Tož, mám dobru náladu :)

          Tedy, prvně ta druhá část – „Já chápu, že PHP má v ČR historicky velmi silnou základnu, ale jsem přesvědčenej, že když sem zavítá nějakej nováček a vy ho uvrtáte zase do PHP, tak mu nesmírně ublížíte.“ Pokud tu máš čísla, že skoro každý 3 web, používá PHP, neznám pro začátečníka nic lepšího než právě PHP. Má 100% šanci, že se tu s ním setká, i kdyby dělal jenom hloupý formulář pro maličkou firmičku.

          K začátku, nevím kolik webových aplikací (startupů – na toto slovíčko jsem trošku alergický) vzniklo v posledních letech a používá PHP, ale rozhodně jich málo není. Přesná čísla nemám, pokud je máš ty a vyvrátíš to tvrzení, budu jenom rád.

          1. Michal

            Re: už zase?

            + za alergii vuci slovu „startup“. Ja ho nenavidim od zacatku :-). Pripada mi to jako kdyby vsechny projekty do doby vynalezeni toho slova nikdy ani nezacaly. Teprve az ted se s projekty konecne zacina a HLAVNE se o tom mluvi :-)

  5. marek

    Chybičky

    Článek je super, v kontextu s dalšími zdroji, které nejsou tak lehce stravitelné jako tohle. Mě osobně to moc pomohlo.

    Jen bych upozornil na drobné chybky:
    1.pohledy controlleru Helloword nemají příponu html, jak je uvedeno ale phtml
    2.controller HelloworldCon­troller.php. je v adresáři controllers, a ne jak je uvedeno controller

  6. Cooler

    Obrázek 1, šipka 4

    Mohl by mi autor vysvětlit, co je šipka č. 4 v obrázku č. 1 – MVC architektura?
    V článku stojí: (4). Nakoniec vytvorí pohľad výpis údajov a radič ho pošle naspäť prehliadaču.

    Proč tedy vede šipka z View do Modelu?

    1. David Grudl

      Re: Obrázek 1, šipka 4

      K popisu šipky se pojít ten text před závorkou s číslem, v tomto případě „V niektorých implementáciach sa môže stať, že pohľad požaduje údaje od modelu, resp. model informuje pohľad o zmene údajov“.

      Nicméně obrázek je zavádějící, konkrétně myslím šipku č.2. Vypadá to, že model ví o (nebo má závislost) na kontroleru, což vlastně ani text článku neříká. Ta šipka tam nemá co dělat.

  7. Cooler

    Vysvětlení MVC v PHP a v Zendu

    Dám si tu práci a pokusím se to vysvětlit po svém, doufám, že to někomu pomůže.
    Nejprve si otevřete obrázek diagramu MVC pro jasné pochopení:
    http://i.iinfo.cz/images/433/priebeh-poziadavok-v-mvc-architekture-1.png

    ___Toto v obrázku není:

    1. Uživatel zadá URL. (příklad: „vypiš článek č. 52″), takže browser odešle URL na server (HTTP request)

    2. Server najde správný Controller, který pro danou URL použije.

    V případě Zendu je URL „propojená“ (mapovaná) se správnou třídu Controlleru a zároveň s nějakou akcí (Action), což je metoda této třídy. Je to tedy dvojice Třída+metoda této třídy.
    např. DokumentController (class, třída), zobrazitDokumen­tAction (method, metoda, funkce).
    V této metodě (funkci) je potom kód samotného Controlleru.

    To může být trochu zavádějící. Pro pochopení obrázku raději na slovo akce (Action) v tuto chvíli zapomeňte a představte si, že Controller má vždy jen jednu akci, aby se vám to nepletlo.

    ___Toto v obrázku je:

    3. Controller si řekne o data Modelu, aby s nimi mohl pracovat. (najde článek č. 52)
    $clanek = $model->najdiClanek(52)
    Na obrázku jsou to šipky 1+2.

    4. Pokud je to potřeba, Controller provede úpravy těchto dat Modelu
    „vypiš článek č. 52″ může např. udělat $clanek->pridejPocetPrec­teni(1) )
    v jiných případech např. smaže článek, označí ho jako přečtený atd.

    5. Controller předá tato data do View.
    $this->view>clanek = $clanek;
    Na obrázku šipka 3

    6. View vytvoří výslednou stránku.
    Nebo nějakou jinou odpověď, např. může vypsat data jako JSON nebo XML, což je časté v případě, kdy vypisujeme výsledek AJAXových volání.
    V našem případě HTML stránku, kde je článek č. 52.

    V Zendu by bylo View představováno souborem zobrazitDokumen­t.phtml (standardně se jmenuje podle jména akce / metody).

    ___ Toto v obrázku není:
    7. Výsledek se KONEČNĚ pošle zpět do browseru a uživatel vidí článek č. 52.

    8. Zend je PHP aplikace, takže se na serveru všechno smaže z paměti, View již neexistuje (uživatel se nedívá na view, ale na výslednou stránku, kterou View vytvořilo). Neexistuje ani Controller, ani Model (data modelu jsou samozřejmě někde uložena např. v databázi, ale samotný model již neexistuje).
    Prostě na serveru není z předchozího už vůbec nic.
    To je hlavní rozdíl od technologií jako jsou např. Java (J2EE) nebo .NET

    _____________­________________________­________

    A ještě bych rád něco dodal k dalšíému diagramu MVC
    http://java.sun.com/developer/technicalArticles/javase/mvc/images/Figure1.gif
    Tento diagram je v angličtině a trochu složitější a hodně obecný. Je určen především pro klasické aplikace (představte si např. aplikaci na telefonu).

    Na diagramu je u View, že „posílá uživatelova gesta do controlleru“.
    To se v případě PHP / Zend aplikací nemůže stát, přesně z důvodu bodu 8.

    Ve chvíli, kdy uživatel klepne např. na tlačítko „označit článek 52 jako oblíbený“, View již neexistuje (opakuji, uživatel nekouká na View, ale na stránku, kterou View vykreslilo), View bylo z paměti serveru vymazáno.

    Server se ale musí o klepnutí na tlačítko „označit článek 52 jako oblíbený“ nějak dozvědět, jinak bych příště neviděl článek jako můj oblíbený.

    Ve chvíli, kdy uživatel klepne např. na tlačítko „označit článek 52 jako oblíbený“, vyvolá se nějaká URL – buďto se otevře nová stránka, nebo se to provede na pozadí (javascript, AJAX). Ale rozhodně se pošle na server nějaká URL (přesněji HTTP request).
    Dále vše probíhá od bodu 2.

    Takhle nějak bych si představoval popis MVC pro technologii PHP na webu.
    Nemám víc času, mám také svůj život :-)
    Napsal jsem to narychlo a doufám, že tam němám nějakou botu. :-)

  8. maikoo

    neblázněte

    řekl jsem si rok a více jsem na ZF nic nedělal snad opráším jedním očkem v tomto seriálu ale po druhé ukázce zrdojáku jsem zjistil že vlastně dál číst nemusím.

    Četl jsem některé komentáře… abych přidal svou do soudku …letmo mi přišlo že se autorům tady snažíte vysvětlit jak to mají psát a o čem je ZF. Raděj doporučuji soustředit svou energii do hledání lepšího autra na toto téma.

    Na zendu jsem dělal nějaké ty „menší“ CRM řeší atp. Rád bych se toho ujal ale práce mám až nad hlavu. GL ..autorum ať se stím poperou. Nejspíše se ve vývoji v ZF a v tom jak psát tutoriál posunou dále po napsání tohoto seriálu ..doufám že ta cena za tuto zkušenost nebude příliš veliká když budu otvírat na ZF zpackané projekty na kterých se utratilo z pohledu firmy nechutné peníze.)

    1. maikoo

      Re: neblázněte

      samozřejmě ..vinu za zpacké kody nechci přidávat na bedra těmto autorům .)

      ..jen mě to prostě vytočilo a to jsem ani nezačal pořádně číst :D

  9. Cooler

    Konzultace pro autora článku

    Protože kritika má i ostatních byla často ostrá, nabízím autorovi článku, že s ním rád budu příští díly konzultovat. Sám nechť zváží, zda mu to k něčemu bylo. Snad bude čas. Stačí mi nějaký kontakt na něj do komentáře a ozvu se mu.

    Snad to bude přínosnější, než jen stále prskat, co říkáte? :-)

  10. peter.grezo

    k članku

    Postupne citam vsetky nazory. Dakujem za ne a za usmernenie.

    Ked som tento clanok pisal chcel som to cele uplne zjednodusit aby to bolo pre uplnych zaciatocnikov. Co sa mi moc nepodarilo. Pokusim sa dalsi diel napisat uplne inym stylom.

    Ked sa nato spatne divam je pravda ze som tam nespravne popisal niektore casti a tym padom to moze vyzerat ze napriklad vypisujem pomocou controlleru. V skutocnosti som to myslel tak ze ide vypisat aj pomocou controlleru, modelu a view. Ale neuviedol som co je spravne a nespravne. Pred vypisom je aj preto cislo lebo som tym chcel znazornit co sa prve druhe tretie spracuje.

    1. omelkes

      Re: k članku

      My děkujeme za článek, ono kritizovat je snadné, něco vytvořit docela těžké. Když by jsi chtěl další článek zkonzultovat s někým, kdo pracoval se Zendem jen krátce, tak mi klidně napiš, rád si to přečtu. Mail mám na gmailu.

  11. Rob

    Neošetření Echa v controleru je chyba Frameworku

    ZF neznám napsal jsme si vlastní FW když ještě ZF byl vpodstatě v plenkách.

    Nicméně můj FW funguje tak, že pokud bych něco vyEchoval v controleru tak controler samozřejmě pozná co se stalo a následují tyto akce:

    1. Zápis do error logu.
    2. Na konec stránky přidám varování uživateli, že asi není úplně vše ok a že má zmáčknout continue
    3. Neudělám redirect na View pomocí headeru (poněvadž by se to nepovedlo) ale místo toho vygeneruju link continue, pomocí něhož se uživatel „ručně přesměruje“ na View (aby mohl vůbec pokrařovat v běhu aplikace – předání aktuální stránky atd…)

    Tyto akce mohu ve svém FW v daném příkazu controleru samozřejmě povypínat, nicméně autor v příkladu nic nevypínal a překvapuje mě, že ZF si vůbec takovéto věci nechá líbit a nemá to nijak ošetřeno.
    Takže existenci celáho tohoto příkladu vidim primárně spíš jako chybu ZF než jako chybu autora. FW by snad měl sám védst programátora k psaní správného kódu nebo ne ?

  12. Jakub Vrána

    Ošetření dat

    Kde by v této ukázkové aplikaci mělo dojít k ošetření dat proti XSS? Co když by $name byl vstup od uživatele? Ve stávajícím kódu by to šlo doplnit buď do controlleru nebo do modelu. Oboje je špatně, k ošetření by totiž mělo dojít v pohledu. Ono to vypadá, že je celkem jedno, kam se to v ukázce použité <br> šoupne, ale právě takovéhle věci dělají rozdíl mezi dobrou a špatnou architekturou.

    Není to nějaké záměrné zjednodušení – kód by nebyl složitější, když by byl napsaný správně.

Napsat komentář

Přihlásit se

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: http://www.zdrojak.cz/?p=3698