Devel.cz Lupa Měšec Podnikatel Root Zdroják.cz DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Vlákno názorů k článku
Nette Framework: Neprůstřelné formuláře

Mastodont
Mastodont (neregistrovaný) 85.132.159.---
2. 6. 2009 17:58

Po sté to samé?

$form->addRadioList(‚gen­der‘, ‚Pohlaví:‘, $sex);
$form->addText(‚email‘, ‚E-mail:‘);
$form->addCheckbox(‚pro­mo‘, ‚zasílejte mi reklamu‘);
 …

Já nevím … když pominu to, že to je ikstá varianta toho, co se dá už léta splašit třeba na phpclasses.org i jinde, mi uniká smysl toho, abych pokaždé dynamicky vytvářel formulář, který pak vždy vypadá stejně. Jako utilita pro tvorbu HTML šablon formulářů to je dobré. Ale do aplikace … Co třeba metody pro vytváření dynamických seznamů nebo check boxů, načítajích data z databáze, jsou?

David Grudl aura:74
2. 6. 2009 23:46

Re: Po sté to samé?

Tak šup, alespoň jeden odkaz na phpclasses.org s komponentou, která umí totéž a disponuje stejnými bezpečnostními prvky. Těším se.

Daniel Tlach aura:72
3. 6. 2009 8:49

Re: Po sté to samé?

Stejně by se dalo říct, že na HotScripts.com nebo kdekoliv jinde jich je spousta ale většina je buď hodně mizerná nebo je jejich použití všelijaké. Valná většina navíc postrádá alespoň základní dokumentaci.

David: Asi by se tam dalo něco podobného najít. Já jsem to vzdal po 8 pokusech a napsal si vlastní. Manuel tam sice má třídu, která vypadá kompletní ale nevyznám se v tom množství souborů a neměl jsem náladu studovat použití, takže těžko říct.

Mastodont
Mastodont (neregistrovaný) 85.132.159.---
3. 6. 2009 23:07

Re: Re: Po sté to samé?

Ano, Lemosovy třídy, dále Clonefish a samozřejmě Zend_Form. Form helpery jsou v podstatě v každém frameworku.

David Grudl aura:74
4. 6. 2009 1:39

Re: Re: Re: Po sté to samé?

Tak třeba Zend_Form mimo jiné nedisponuje:

  • validací UTF-8 řetězců (zásadní nedostatek)
  • odstraňováním kontrolních znaků (nepříjemnost)
  • nemá podporu pro podmíněné validační pravidla (zásadní nedostatek)
  • a generování validace na straně JavaScriptu (nebo alespoň neměl v době, kdy jsem se na něj díval)
  • nezná „empty values“
  • nekontroluje povolený obsah selectů
  • vznikl o dva roky později než Nette Forms (aneb pláčete na špatném hrobě)

Díváte se na celou věc pouze povrchně (což prosím neberte jako invektivu!), proto soudíte, že jde o další variaci na totéž. Nejde. Na první pohled to tak může vypadat, ale uvnitř zeje kvalitativní propast.

David Grudl aura:74
4. 6. 2009 1:40

Re: Re: Re: Re: Po sté to samé?

Týjo, komentáře tu statečně požírají veškeré pokusy o formátování. Nejde to Texy nějak vypnout? ;)

Martin Hassman aura:85
4. 6. 2009 5:32

Re: Re: Re: Re: Re: Po sté to samé?

Doporučuji kontaktovat naše vývojové oddělení. Oon ten celý nový systém je pořád takový neodladěný polotvat 8-(

Mastodont
Mastodont (neregistrovaný) ---.newsfeed.sdlintl.com
4. 6. 2009 7:58

Re: Re: Re: Re: Po sté to samé?

Ale já tady neřeším, kdo z vás ho má většího na základě množství kódu a co kdo napsal dříve … pouze jsem vyjádřil své lehké znechucení nad tím, že dynamicky generujete vždy stejný obsah – na to můžete namítnout, že formuláře se nezobrazují tisíckrát za sekundu a proto je cache zbytečná … nechápu, proč to odvádíte jinam.

Druhý problém mám s tím, že takto máte konfiguraci UI zadrátovanou do kódu – pokud by si zákazník chtěl změnit popisek pole, musí do PHP kódu.

David Grudl aura:74
4. 6. 2009 10:25

Re: Re: Re: Re: Re: Po sté to samé?

Reagoval jsem na větu „když pominu to, že to je ikstá varianta toho, co se dá už léta splašit třeba na phpclasses.org i jinde“. Neodvádím to jinam, jen reaguji postupně.

K tomu generování stejného obsahu: Mícháte hrušky s baňama. Nikde jsem přece „nenamítal, že cache je zbytečná“. Naopak, Nette Framework disponuje velmi silným aparátem pro kešování. A když mám aparát, nebojím se ho použít ;)

Ad popisky: to je dobrá připomínka, proto popisky takto uvedené v kódu jsou volitelné. Pro jednoduché weby je pragmatické uvést je přímo v kódu. Pro složitější weby je lze nastavovat mimo ve zvláštní rutině. A nakonec pro multijazyčné weby lze použít místo popisek konstanty, které se poté překladačem automaticky nahradí za skutečné popisky v daném jazyce.

Roman Pištěk
Roman Pištěk (neregistrovaný) ---.noronet.cz
3. 6. 2009 15:05

Re: Po sté to samé?

Jak jste, 'sim Vás, přišel k té přezdívce? :-) Jistě, na phpclasses.org a desítkách dalších zdrojů seženete takových rutin tuny. Nějakou tu „vodotoňákfunguje“ třídu pro formuláře si navíc zbastlí každý začínající programátor. Ovšem kvalitně naprogramovat a zakomponovat do frameworku už tak snadné není.

„Co třeba metody pro vytváření dynamických seznamů nebo check boxů, načítajích data z databáze, jsou?“ – a co třeba si takovou specifickou záležitost naprogramovat sám? Nette tomu nijak nebrání… Pokud ovšem nejste ten typ programátora, který celou aplikaci poslepuje z torz z phpclasses.or­g apod.

Mastodont
Mastodont (neregistrovaný) ---.newsfeed.sdlintl.com
4. 6. 2009 8:04

Re: Re: Po sté to samé?

Ad 1) Narážky ad hominem ve stylu „jé, ty máš blbej nick“ nemám rád
Ad 2) Ano, to se samozřejmě napsat dá. Ale proč v Nette? :-)
Ad 3) Já cizí kód používám, nevidím důvod, proč bych měl třeba HTML Purifier psát znovu jen proto, abych světu dokázal, že jsem těžkej borec a všechno přede mnou bylo blbě … a je mi úplně jedno, jestli ho najdu v PEARu, na hotscripts nebo jinde, rozhodující je licence, jednoduchost, konsistence a celková úspora času.

Zasílat nově přidané příspěvky e-mailem