PHP knižnice: Smarty & VDaemon, Forms
Smarty
Smarty je šablónový systém napísaný v PHP. Tento projekt je stále pod vyvívojom, práve sa chystá jeho tretia verzia (zatiaľ je alpha). Smarty je jeden z najlepších mocných šablónových systémov.Slúži ako výborný prostriedok na oddelenie logickej časti kódu od GUI. Poskytuje množstvo programových konštrukcií (cykly foreach, podmienkové príkazy if-else, premenné, …) a taktiež mnoho pluginov. Máte možnosť vytvárať si vlastné pluginy a tým rozširovať jeho možnosti. Smarty nieje nijak zložitý a po jeho zvládnutí je práca s ním veľmi pohodlná.
Pre vytváranie šablón sa používajú súbory s koncovkou *.tpl (niektoré IDE pre PHP podporujú aj zvýrazňovanie syntaxe). Šabloná pozostáva z HTML kódu (taktiež samozrejme JS či CSS) a zo Smartyho konštrukcií. Pomocou Smartyho triedy assignujeme (priradíme, definujeme) premenné pre danú šablónu. Ak chceme získať výstup zo šablóny, tak ju musíme vykonať (fetch). Po vykonaní sa do cache zložky uloží vykonaná šablóna. Šablóna sa z chace nemaže a znova sa nevykonáva (šetrí to čas) až pokiaľ nieje modifikovaná pôvodná šablóna.VDaemon
VDaemon je skratka od validation daemon, teda démon, ktorý sa stará o validáciu. Veľmi dôležitým aspektom pri vytváraní webových formulárov je validácia správnosti informácií, ktoré zadá uživateľ. Na zjednodušenie práce bol naprogramovaná knižnica VDaemon.Na grafe je možné vidieť ako VDaemon pracuje s formulárom. Po prvom načítaní sa zobrazí formulár. Po vyplnení a odoslaní formuláru sa na skontrolujú dané prvky. Ak validácia zlyhá, zobrazí sa formulár a vypíšu sa chybové správy. Naopak ak validácia prebehla úspešne potom následuje užívateľský kód, ktorý môže počítať s tým, že dáta, ktoré boli odoslané sú správne a je možné s nimi ďalej pracovať (napr. uložiť do DB).
VDaemon umožňuje validovať formulár a to na klientskej strane a potom nutne na serverovej strane. Funguje to tak, že knižnica odchytáva všetok výstup, po skončení PHP skiptu sa spracuje celý výstup stránky. VDaemon hľadá špecifické tagy vo formulároch a tým sa riadi jeho funkčnosť.
Pomocou špecálnych html tagov ako <vlvalidator>, <vllabel>, <vlsummary> a ďalších sa určí akým spôsobom má VDaemon kontrolovať jednlotlivé časti formuláru.Forms
Forms bola nazvaná knižnica pre prácu z formulármi. Bola vytvorená za účelom zjednodušenia práce s jednoduchými formulármy, ktoré sa nachádzajú takmer na každej stránke. Forms je vlastne súbor pluginov pre Smartyho s využitím validácie pomocou VDaemona. Forms sa začali vyvíjať v decembri '08. Počas polroka prešli mnohými vylepšeniami a opravou chýb. Táto knižnica nieje momentálne nikde dostupná. Je stále vo vývoji a je veľmi závislá na našom frameworku, ktorý používame. Neskôr by sme ju chceli zverejniť okolnému svetu.Táto knižnica obsahuje prvky ako text, email, decimal, real, date, datetime a mnohé iné. Po použití napríklad prvku decimal si môžeme byť istý, že po úspešnej validácii bude tento prvok obsahovať číslo. Ak použijeme prvok date a zapneme pomocou parametru kalendár, bude sa vedľa prvku input zobrazovať ikonka kalendáru. Po kliknutí na ikonku sa zobrazí kalendár a je možné vybrať požadovaný dátum. Forms sa postará o to aby sa zobrazila ikonka, aby fungoval kalendár pre tento prvok a jediné čo musíme spraviť mi je tento prvok použiť.
Formulár obsahuje tri módy. Prvým je klasický mód, kde sa vykreslí celý formulár. Ďalším je statický mód, kde sa namiesto prvok vypíše hodnota ako text. Toto je vhodné napríklad pre hodnoty prvkov, ktoré nemôže daný uživateľ meniť. Posledný mód bol nazvaný popup. Vyzerá podobne ako statický formulár, niesú vykreslené prvky ale iba text hodnôt. Avšak pri každej hodnote sa zobrazuje ikonka ceruzky, ktorá indikuje editáciu. Po kliknutí na ikonku sa zobrazí formulár v popup okne. V tomto formulári je možne zmeniť hodnotu a uložiť ju. Tento mó je šikovný pre editáciu jednotlivých prvkov.
Knižnica taktiež spolupracuje s databázou. V prvku form, ktorý definuje formulár sa určí názov tabuľky, s ktorou je formulár zviazaný. Je možné určiť ku každému prvku aký názov má stĺpec v tabuľke, potom formulár môže načítavať hodnoty z databáze, prípadne po odoslaní vkladať/modifikovať.Odkazy
- http://www.smarty.net – domovská stránka Smartyho
- http://www.smarty.net/manual/en/ – manuál pre Smarty
- http://www.x-code.com/…lidation.php – domovská stránka VDaemona
- http://polarity-therapy.com/…al/index.htm – rýchly tutoriál k VDaemonovi
- http://net.tutsplus.com/…p-libraries/ – ukážka ďalších PHP knižníc



