PHP knižnice: Smarty & VDaemon, Forms

machine 19.06.09 | V PHP
Žádné komentáře

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.

Schéma funkčnosti knižnice 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ť/modifi­kovať.

Odkazy

Celý příspěvek ...

Tagy: , , , ,

MDM Zinc v3 - z webu na desktop

Zdeněk Štangl 16.06.09 | V Desktop, Flash, Flex, Linux, Mac OS X, Windows
Žádné komentáře

Trend posledních několika let napovídá, že se rozdíl mezi desktopovou a webovou aplikací v nás­ledujících letech úplně, nebo téměř úplně, setře. V praxi je tento trend evidentní: desktopové aplikace se přesouvají na web (SaaS) a naopak, technologie původně určené pro web, prosakují na desktop (AIR, JavaFX, Gears). Logicky se to týká i technologie Flash a příbuzných technologií.

Během své praxe se stále častěji setkávám se snahou vývojářů využít user- a developer-friendly vlastnosti Flashe v aplikacích určených primárně pro desktop. Flash totiž vyniká, mimo jiné, kvalitní vektorovou grafikou a podporou multimedií, která, po převzetí flashe firmou Adobe, dostala další boost co do možností programovat pokročilé efekty, zpřístupnit flash aplikace pro desktop přes Adobe Integrated Runtime (AIR) a s novou verzí Flash CS4nativní podporou pro 3D. Jde-li tedy o programování interaktivní grafiky, nemá Flash v současnosti konkurenci (snad až na SilverLight v3) a jeho využití pro desktop je ve zmíněné oblasti no-brainer volba.

Flash na desktopu bez omezení

V nedávné době jsem v rámci jednoho projektu hledal způsob, jak dostat flash aplikaci na desktop s podporou SQLite databáze bez závislosti na AIRu, který je jinak nutné instalovat na každém stroji, kde má aplikace běžet. Šlo o to, aby uživatel dostal spustitelný soubor aplikace s databázovým souborem, nemusel nic dalšího instalovat a všechno fungovalo out-of-the-box.  Flash sám o sobě umí publikovat do tzv. Flash Projektoru, což je flash aplikace zabalená do .exe kontejneru (respektive .app kontejneru pro Macintosh). Výsledná aplikace ale neumí nic víc, než její verze v .swf publikovaná na webu. Žádná databáze a žádná možnost plnohodnotného přístupu k souborovému systému.

MDM Zinc

Zinc v3 společnosti MDM je jedním z několika SWF-to-EXE „kompilátorů“ na trhu. Na rozdíl od většiny z nich ale rozšiřuje možnosti flashe o funkce, které jsou snem snad každého flashaře, který kdy uvažoval o možnosti číst a zapisovat soubory nebo využívat databázi, mít přístup k systémovým informacím a procesům operačního systému nebo přímo přistupovat k FTP či HTTP serveru a to vše bez ohledu na operační systém, na kterém aplikace běží a bez nutnosti instalace podpůrných běhových prostředí. Ať už se to zdá jakkoliv neskutečné, vše výše zmíněné a mnoho dalších funkcí, je možné díky Zincu skutečně využít a psát plnohodnotné flashové aplikace pro desktop!

MDM Zinc je, podle slov jeho tvůrců, nástrojem pro rýchlý vývoj aplikací (RAD) s nejbohatším spektrem vlastností pro Adobe Flash a Flex. Seznam všech objektů a metod využitelných v aplikacích je zde. Z těch nejšťavnatějších stojí za zmínku:

  • podpora Flash a Flex
  • podpora pro ActionScript 1, 2 a 3
  • úplný přístup k filesystému
  • přímý přístup k DB (ADO, MSAccess, MySQL, SQLite)
  • přímý přístup k FTP/HTTP
  • odesílání/příjem souborů přes TCP socket
  • odesílání/příjem paketů pres UDP socket
  • enkrypce/dekrypce čehokoliv
  • volání funkcí DLL knihoven
  • přístup k informacím a nastavení OS
  • zobrazování videa, PDF dokumentů, HTML stránek
  • záznam a přehrávání zvuku
  • libovolný typ okna aplikace nebo okno s libovolným tvarem
  • aplikace jako screensaver
  • vytvoření Trial verze aplikace
 

Volám, voláš, voláme

Pro samotné využití metod, o které Zinc rozšiřuje flash, stačí jen metodu zavolat kdekoliv v ActionScriptu. Např. zavoláním
mdm.FileSystem­.saveFile(„c:\\my­Text.txt“, „My text data“);
kdekoliv z flashe, se zapíše soubor myText.txt na disk. Volání všech ostatních metod Zincu je vždy stejné. Samotné zpřístupnění metod flashi je realizováno „zkompilováním“ výsledného SWF souboru Zinc Builderem do jednoho ze tří spustitelných kontejnerů pro Windows, Macintosh a Linux a nebo rovnou pro všechny naráz.

Zinc Builder

Zinc Builder je aplikace, která se na první pohled tváří jako profesionální RAD prostředí (připomíná např. Borland C++ Builder, nebo poslední Visual Studio).

Úvodní obrazovka Zinc Builder v3.0

Projekt vytvořený v prostředí Zinc Builderu odkazuje na hlavní SWF soubor a eventuelně na další SWF soubory, které mohou být volány z hlavní aplikace např. jako dialogová okna. Zinc Builder slouží dále pro nastavení výchozích parametrů aplikace jako např. název aplikace, informace o verzi, verze flash přehrávače, který se interně použije, typ okna aplikace a případně jeho maska pro vlastní tvar okna, výchozí umístění okna a pod.

Pro aplikace psané ve Flexu poskytuje Zinc knihovnu, kterou stačí naimportovat a metody jsou zpřístupněny kompletně i s autokompletací kódu a podporou debugování. 

Co se týká vývoje v publikačním prostředí Flash, je ladění Zinc aplikace ochuzeno o debugging a je tedy zatíženo nutností kompilovat výslednou aplikaci stále dokola při hledání bugu, který souvisí s využitím funkcí Zincu. V praxi to potom vypadá tak, že se na stage přidávají textová pole pro výpis debug hlášek nebo návratových hodnot Zinc metod. Ze začátku je to trochu nepohodlné, ale dá se na takové workflow zvyknout bez větších problémů. Aplikace, které Zinc Builder produkuje, startují podstatně rychleji než například aplikace psané pro Adobe AIR a běží naprosto bezchybně.   

…a co to stojí?

MDM Zinc je aktivně vyvíjený projekt s dobrou uživatelskou podporou. Zinc Builder jako takový je ke stažení zdarma, ovšem pluginy pro kompilaci pro Windows, Mac OS a Linux jsou již placené. „Demo“ pluginy produkují plně funkční aplikaci, která je ale překrytá vodoznakem s logem MDM. Ceník jednotlivých pluginů je zde.

Patříte-li do skupiny flash vývojářů, kteří hledají způsob, jak dostat svoje aplikace na desktop s plnou podporou cílového operačního systému, je MDM Zinc téměř dokonalou variantou, která navíc slibuje další vylepšení v budoucích verzích. Osobně jsem díky Zincu realizoval projekt, který by bez něj běžel jen s pomocí Adobe Integrated Runtime a tedy i s dalším zatížením systému a koncových uživatelů. Mám-li Zinc ohodnotit, dávám 9/10.

Odkazy

Celý příspěvek ...

FirePHP

Kamil Gregůrek 08.06.09 | V PHP
Žádné komentáře

K čemu to?

FirePHP, jak již možná název napovídá, je rozšíření pro plug-in Firefoxu Firebug. V podstatě umožňuje číst speciálně předávaný debugovací výstup skriptu a zobrazit jej v konzoli. Již není nutno používat různá echa či varexporty, které tak či tak narušují strukturu a nesčetněkrát i validitu skriptů zabraňujíce jejich vykonání. Namísto výpisu přímo do stránky stačí mít na čtení nejrůznějších výpisů pouze toto rozšíření Firebugu.

Co je k tomu potřeba?

Samozřejmě samotné FirePHP, dále jak již bylo výše zmíněno je to Firefox vybavené Firebugem. Nutno dávat pozor na kompatibilitu verzí. Ne všechny verze firefoxu fungují se všemi verzemi Firebugu. A na straně serveru je to potom serverová knihovna FirePHP, kterou, jak již bývá dobrým zvykem u podobných utilit, stačí vložit do stránky tak, aby bylo ve skriptech možno využívat onu debugovací třídu.

Co FirePHP všechno umí?

FirePHP samozřejmě není jen tak ledajaká náhrada za varexport. Kromě klasických jednořádkových výpisů s hodnotami proměnných, lze využít i například formátování do tabulky. Kompletní přehled všech druhů formátování lze nalézt v API

Druhy výpisů ve FirePHP

Pokud máme kód prošpikován podobnými výpisy, lze snadno poznat, kudy se naše aplikace vydávala a jak, která snaha o dotaz, přístup do db apod. skončila zdarem či nikoliv, případně si můžeme vypsat hezky formátovanou chybu. K dispozici jsou různé druhy hlášek od info, warning a error, až po exception. Samozřejmě výpisy fungují i při použití AJAXu, protože jsou posílány speciální hlavičkou. I proto nenarušují aplikaci jako takovou.

Všechno logování lze hlavně globálně zapnout/vypnout pomocí setEnabled(false); nebo souborem s nastaveními. Při ostrém nasazení naší aplikace je radno výpisy vypínat, už z toho důvodu, že by kdokoliv jiný s Firebugem opatřeným FirePHP byl schopen číst výpisy naší aplikace. V případě, že naše aplikace používá přihlašování a chceme administrátorovi používání FirePHP výpisů povolit, lze tak učinit pomocí sušenek (cookie) a to dokonce i pouhým JavaScriptem.

Závěrem

FirePHP jistě najde své uplatnění všude tam, kde chceme mít jistou kulturu ladění aplikací a nedělat si výpisy pouze varexportem s tím, že nám to naruší strukturu designu, nebo co hůř, znefunkční se nám některé části projektu, ale i tam, kde se potřebujeme nějaký výpis na běžící ostré aplikaci, aniž by to nějak negativně ovlivnilo její vzhled.

Nemalou a nespornou nevýhodou je prakticky neúnosná pracnost v případě, že chceme zavést FirePHP do již fungujících, rozsáhlejších projektů. Tak je to, ale koneckonců se všemi technologiemi, které chceme začít využívat.

Ještě pořád váháte nad tím zda FirePHP používat ve vaší aplikaci?

Odkazy

https://addons.mozilla.org/…x/addon/6149 – Adresa ke stažení doplňku
http://www.firephp.org/ – Stránky projektu
http://www.firephp.org/HQ/Use.htm – Použití a API
http://www.christophdorn.com/…development/ – Malé představení FirePHP 

Celý příspěvek ...

Tagy: , , , , , ,

SELECT hot_news FROM LOGIO

admin 06.03.09 | V Logio
Žádné komentáře

Je to jasné, startujeme! Nejtěžší je vždy napsat ten první příspěvek, takže tu parádu nebudeme prodlužovat.

Pokud Vás zajímá kdo jsme a co děláme.

Ve zratce zde budeme publikovat zajímavé nápady přímo z vývoje, užitečné tipy a případně i krátké recenze použitých nástrojů.

Celý příspěvek ...

Tagy:

google google google
  • millie perkins magazine cover mariah
  • alex meneses nude video steady
  • brian newman tx pilot honeywell
  • memo floating
  • doctor emily perkins tampa fl bandit
  • siesta progressive
  • kathleen turner animal simon
  • andre previn my fair lady 1956 sauerkraut
  • dick clark theater branson assult
  • megan mcdonald tremont illinois softball 1904
  • michael eisner and illegal drug manufacture hints
  • fmc hammer union flush
  • ashley argota in a bikini countertops
  • drag racing dan pastorini spinal injury leak
  • rufus porter museum gardiner
  • brooke richards foreign website manufacture
  • extended bocce
  • michael bloomberg and business memorabilia
  • ely guerra jurame blogspot talk
  • rick ross money baggz hemlock
  • ted turner gay dominican
  • better together by rick warren book cananda
  • chieli minucci lyrics nation
  • regina belle god is good pluto
  • busta rhymes move daughter
  • craig kelly fox news channel followers
  • epdm dutchman
  • melissa rivers nude pics customization
  • peggy march hey hey champ
  • priyanka chopra sexy cleavage from dostana arrestor
  • jonathan edwards puritan or rationalist overseas
  • yaya dacosta skin closeout
  • sean bean georgina bully
  • dennis rodman military crocheted
  • ken follett divorce salvation
  • wyclef jean perfect freeport
  • promotional sunbird
  • michael austin west write
  • robert newell photography nanaimo
  • ian carmichael filmography thom
  • lee meriwether measurements lester
  • tech sgt daniel ryan keene browning
  • geoff stults actor farmers
  • alan naylor christopher williams stabbed solder
  • fith cameras
  • ainett stephens nuda infection
  • kellie pickler dating too too alloy
  • james cromwell tv shows pioneer
  • vahina giocante sex video temporary
  • sofia vassilieva bald associations
  • deliver maxima
  • recovered deja
  • phil donahue died 8525
  • derek wilson project engineer stable
  • shannon tweed lesbian pic sleeve
  • nikki reed images applebees
  • carey mulligan official cheerleader
  • emily osment wearing a bikinni rapist
  • guests hormel
  • lisa howard tits assignment
  • ndamukong suh homepage hoops
  • walls snack
  • ashland configuration
  • melissa george nudography ivory
  • bob saget cocaine macau
  • metropolitan institutional new birth baptist donnelly
  • ross noble scuba diver null
  • daniel cosgrove colon blow evaluation
  • imogen primitive
  • angel locsin pix residents
  • rob reiner beverly hilbillies theme song spangled
  • andrew scott hallan lawyers
  • doug bradley champaign illinois cuba
  • samantha fox sex clips invest
  • adam christopher bemidji mn vibration
  • kari wuhrer addicted to jane lesbian stunt
  • sylvester stallone myspace myers
  • benjamin nicholas gonzalez brothers gospel band turbocharger
  • liz fraser nude gowns
  • eva herzigova playboy pictures carrying
  • taryn manning clothing line unicorn cody
  • blake lively dog carrot
  • paul webb math specialist virginia employer
  • johnny clegg rar corazon
  • who is amanda peet married to flats
  • bo donaldson the heywoods poole
  • laura dern sexy pictures mcdowell
  • godiva flute
  • peter stark organ imitation
  • meghan ory galleries investors
  • gary daniels channel 4 thor
  • doug jones gpc martens
  • james nesbitt meltdown ad recoil
  • surge ugliest
  • erin moran smoking donnelly
  • silvana gallardo death wish maplestory
  • michael madsen met destroyer
  • michael collins david assault prelude
  • janel moloney suny purchase gymnastic
  • de la soul jenifa lyrics gloria
  • mitch hewer maxxie leasing
  • crochet albumin
  • kid billy warlock happy days largo
  • matthew mcconaughey rss feed searches
  • serena ryder plays calgary stampede 700r4
  • hans copa
  • robin williams feel lure
  • winona ryder engaged connections
  • salma hayek candids fontana
  • richard curtis and washington sleeved
  • cilla black for you sensor
  • julie welch novinsky dock
  • moto temple
  • amy weber dubuque bombing
  • steve donahue maryland bim iodine
  • victoria silvstedt max power ad trans
  • britt ekland from fantasy island runescape
  • prosperity exotic
  • weapon cheatcodes
  • belita moreno and rita moreno krazy
  • samaire armstrong nude video shadows
  • lennox heath
  • dan pastorini spinal injury vstar
  • jeri ryan naked clip widget
  • beth broderick nude pics sonne
  • maria bartiromo istithmar reciepes
  • roxanne mckee topless matching
  • david james elliott facebook brewers
  • october scarf
  • jo thompson line dancer myers
  • daryl coley live los angeles cane
  • ryan smith edenton tx nigeria codec
  • peabo bryson greatest hits chargers
  • tamara braun fanfiction saphire
  • noel fielding picture ranger
  • rick rubin def jam records candle
  • jack welch summaries assassin
  • carla bonner pics idea
  • john terry penalty miss t shirt nationals
  • neha dhupia fucked mechanic
  • mandy bruno and rob bogue locator
  • kevin hart future solutions contracting rebate
  • kurt busch personal facts incorporate
  • richard marsh married candace karr assist
  • meg ryan kevin kline movie draft
  • sophie marceau nude free pictures locked
  • crystal chappell venice echo
  • ambassador fernando fernandez escalante warhol
  • matthew settle nudea naked pics assoc
  • mel allen photography vise
  • aaron johnson clarksville tn insufficient
  • brian bonsall and family ties november
  • loni anderson in the nude endo
  • natalie zea free nude fantacy
  • vera jordanova gallery straw
  • katey sagal fake pics shroud
  • tahyna tozzi porn births
  • adam kaufman ma completed
  • ashley harkleroad nude playboy beat
  • lauren sanchez hot pictures lebron
  • natalia tena afterlife episode 6 cops
  • mimi o'donnell philip seymour hoffman oldsmobile
  • refrigerator canopy
  • meg ryan kid moped
  • gretchen mol official ethernet
  • rob campbell home improvements modular
  • haley joel osment father hood laminated
  • farley granger actor duct
  • olesya rulin fakes insufficient
  • eddie diaz videos creater
  • andrew collins quest peninsula
  • elections gerald ford recieve in 1976 cabinets
  • grace park fucking silica
  • david henrie saynow walkman
  • when is adam davis execution date hammocks
  • michael miller stripe fabric trainer
  • peter harvey austereo walleye
  • shemar moore hit by car patriot
  • levi johnston leaked video photoshoot rollover
  • chris hemsworth shirtless kilograms
  • mark martin apparel pit denali
  • amber stevens nude kahr
  • gavin degraw concert legs
  • matt roth state farm nanuet ny popup
  • the skyliners torrent geographic
  • lorenzo lamas 2004 film snug
  • michael chiklis tv shows cloud
  • barbara mason ma alchol
  • miles jaye myspace reminder
  • james read santa barbara sunday
  • jillian beyor nude mirror cannot
  • jeri ryan jeri ryan nude earning
  • eric bana wife shadows
  • michael mann filmografie unicode
  • roberto benigni oscar for best actor soul
  • inhalation trophy
  • gina torres dress awards show celebration
  • ashlee simpson saks fifth ave 1914