Autor Zpráva
quatzael
Profil
Nette ani Zend neumím a nevím jestli má smysl to použít pro vytváření formulářů.
Já jsem zatím dělal formuláře spíše jen čistě jako HTML a sem tam nějaký PHP kód pro vkládání hodnot ze SESSION.
Jenže pořád něco na nich upravuju a je to docela opruz, protože těch inputů je tam docela hodně a každý input má na sobě nabaleno několik elementů (nápovědy v bublinách, check signs apod.) Napadlo mě jestli by nebylo nějak lehčí si vytvořit funkci v PHP, která by mi je přímo tvořila.
Akorát i tak by to bylo dost složitý, protože každý input má dost specifičností..

Normálně by bylo asi snadnější napsat formulář normálně přímo v HTML. Jenže když budu chtít upravit strukturu těch formulářů a budu chtít, aby všechny formuláře vypadaly stejně (a formulářů tam celkově může asi 80), takže než to všechno přepíšu tak to zabere hodně času.

Zajímalo by mě jak vytváří formuláře "profesionálové"? Používají všichni frameworky? Nevím pořádně jak ty frameworky fungují, ale trochu pochybuju, že by stačily na všechno co potřebuju.

Nebo si tvoří vlastní funkce v PHP pro generování formulářů?

A nakolik to zpomalí celkové načítání stránky, kdybych si v PHP generoval i například nějaký javascript a řekněme i něco z CSS?
Alphard
Profil
Já většinou používám Nette. Netvrdím, že je tam všechno ideální, ale bylo by dobré vyjmenovat, co konkrétně nevyhovuje, lépe by se radila alternativa.
Občas někomu nesedí, že je třeba validace umístěná v controlleru a chtěl by ji mít spíše v modelu, apod., Ne, že by něco nešlo, ale že by to někdo chtěl dělat jinak. Takže jak?

Vlastní renderer je samozřejmě možný, vlastní makra jsou možná, validace na straně js i PHP je až na pár problémů dobrá, na live serverovou validaci jsou pluginy, na ajaxové odeslání jsou pluginy, vkládat defaultní hodnoty lze snadno, dělat dynamické formuláře je trochu komplikace, ale s Replicatorem to jde také.
quatzael
Profil
Alphard:
ale bylo by dobré vyjmenovat, co konkrétně nevyhovuje
Já vůbec nevím jak nette funguje, takže tady těžko vyjmenuju co mi na něm nevyhovuje..
Hlavně by mě zajímalo jestli tam jde všechno nastylovat jak chci a udělat si i vlastní HTML strukturu, tak jak sám potřebuju.

Ale spíš by mi ani nevadilo si naprogramovat vlastní funkce, ale nato by bylo asi dobrý OOP a já jsem ještě nikde nenašel nějakej dobrej tutoriál, kde vysvětlujou jak pořádně funguje syntaxe OOP a jaký to má všechno funkce, prostě co pod to všechno spadá. Všude jen popisujou abstraktně jak to funguje, ale z toho nic naprogramovat nejde..

Neznáš na netu náhodou něco pořádnýho?


Hlavně by mě taky zajímalo jak je to s nette a stylováním formulářů? Jestli používá svoje vlastní styly, podobně jako jQuery u datepickeru apod, nebo jestli si můžu vytvořit opravdu svoje vlastní nastylování a tím pádem i html strukturu..


Už jsem něco našel: http://programujte.com/clanek/2009113001-oop-v-php/

Vypadá to celkem použitelně.
Alphard
Profil
Nette klasicky formuláře generuje podle výchozí formulářové šablony, tu lze samozřejmě změnit, nebo jen přestylovat. Ideální na velmi rychlou tvorbu administrace.
Když je potřeba, lze automatické generování opustit a napsat si okolní html sám, s tím, že Nette si vloží jen prvky <input> apod. (do kterých lze přidávat své třídy a další parametry).
Takže možné je cokoliv, v základu lze použít rychlý tovární vzor, čím víc času formuláři věnujete, tím víc ho vyladíte.
Enko
Profil
Když jsem u těch formulářů. Před nedávnem jsem narazil na HTML_QuickForm2. Máte s ním někdo nějakou praktickou zkušenost? V žádném FW zatím nedělám a zatím ani neplánuji, jen bych si rád ušetřil čas rutinní opakující se prací na formulářích.
peta
Profil
Ano, pouzivame u nas ve firme pro jednu stranku. Ma to omezene moznosti, jako kazdy framework.
http://zelus.slu.cz/vck/prihlaska.php
Vlastne ted se dovidam, ze to oddeleni zrusilii, takze je jen otazkou casu nez link nepojede taky.
Novejsi verze prihlasky je na
http://prihlaska-czv.slu.cz/

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0