spájame
slovenskú
IT komunitu
pridaj sa
Registrácia · Login

František Čaník 26.2.2011, článok je súčasťou seriálu Nette PHP framework
Hodnoť článok:
0 0

Nette PHP framework: Úvodné slovo k českému PHP framework-u

Český PHP framework? A prečo nie, stále obľúbenejší medzi českými mladými developermi, jazyková dostupnosť aj pre tých, ktorí nevedia až tak dobre po anglicky. Český hit Nette.

Na stránkach Zajtra.sk sa máte možnosť zoznamovať s viacerými frameworkami, ktoré by mali naše životy uľahčovať pri vývoji modulárnych aplikácií založených na MVC (model-view-controler). Spomedzi CodeIgniteru, YiiNette, som sa rozhodol, že sa budem venovať práve českému frameworku od Davida Grudla Nette.

Hlavné črty Nette frameworku

Nette Framework sa pýši črtmi, ktoré uľahčujú život väčšine developerov a to hlavne čo sa týka ochrany ich aplikácií voči Cross-site Scripting-u (XSS útoky), CSFR, URL atakom či voči útokom zameraným na Cookies či Session.
Nette však nie je len o ochrane vstupov a výstupov, ale aj o moderných nástrojoch frameworku, ktorý je pripravený na Ajax, SEO optimalizáciu, či rôzne rozšírenia. Výpočet kladov celého frameworku je dosť obsiahly a určite si jednotlivé klady a zápory ešte popíšeme aj v jednotlivých častiach seriálu, pomocou ktorého sa naučíme tvoriť jednoduché i rozsiahlejšie aplikácie. Pozrime sa však na sumár kladov:

  • Zabezpečnie vstupov a výstupov
  • Web 2.0 ready
  • SEO, AJAX, DRY (Don’t repeat Yourself), KISS (Keep It short & simple), MVC (Model-View-Controler)
  • Jednoduché a intuitívne používanie a náviky
  • Množstvo doplnkov ako napr.: DiBi (databázová vrstva), VisualPaginator, GetText
  • Prehľadné ladiace nástroje (Laděnka, DB a Nette profiler, RouteDebugger...)
  • Najvýkonnejší framework (podľa testu Root.cz)
  • Rýchla výučba práce s Nette framework-om

Nie je však všetko len o kladoch a asi ten najväčší nedostatok, ktorý celý framework má je to, že nemá veľmi dobre spracovanú dokumentáciu. Práve to je dôvod, prečo množstvo developerov siaha po inom frameworku.

Keď som sa ja rozhodoval nad tým, či mám na niektoré svoje projekty zvoliť Nette, alebo postaviť niečo vlastné, vedel som, že tvorba framework-u by mi zabrala veľmi veľa času, no pri porovnaní s tým, že niektoré funkcie v Nette treba pracne nájsť v diskusnom fóre, kde sa miešajú témy s aktuálnym STABLE framework-om a pripravovaným Alpha 2, je to vždy menej času použiť Nette, ako niečo vlastné. Takže najväčší problém vidím práve v dokumentácii.

Požiadavky na výkon

Súčasťou balíčku je php skript, ktorý overí Váš systém voči požiadavkám frameworku, no medzi základné (minimálne požiadavky) patrí PHP verzie 5.2. V rámci vnútorných nastavení sa však potom môžete stretnúť so samostatným riešením pre produkčné a pre developerské prostredie, čím sa „odburáva“ nekonečné prekonfigurovávanie rôznych údajov, ktoré riadia prístup či už k FTP, databáze či iným častiam webu.

Prvé kroky – Stiahnutie a inštalácia frameworku

Stiahnutie frameworku je asi možno prvá vec, ktorá Vám spraví vrásky na tvári a to už len z toho dôvodu, že sa musíte už teraz rozhodnúť, či chcete používať framework, ktorý používa prefixy (príklad. namiesto Debug sa používa NDebug – ako NetteDebug), alebo či chcete používať framework s mennými priestormi, alebo bez nich. Mimo to, aj keď je odporúčané používať STABLE verziu, ktorá je aktuálne vedená ako 0.9.7, je k dispozícii aj verzia 2.0 alpha. Ako radia všetky pravidlá, radšej siahnite po verzii 0.9.7, nakoľko práve na túto verziu budeme riešiť aj náš seriál. Presnejšie v našom prípade verziu pre php 5.2 (verzia 5.3 využíva menné priestory) s prefixami, aby sme pre prípad potreby vedeli používať aj iné knižnice, ktoré už majú špecifikované objekty typu Object, Session, či HTML.

Obsah stiahnutého archívu

V stiahnutom archíve nájdete 8 adresárov, pričom za dôležité môžeme považovať 3. Hlavný adresár Nette obsahuje všetky súbory frameworku, pričom includovať stačí len loader.php. My sa však budeme teraz venovať kontrole kompatibility framework-u s Vaším vývojovým prostredím, prípadne aj produkčným. V adresári tools/ nájdete adresár Requirements-Checker/. Obsah tohto adresára nahrajte na server, prípadne na miesto, kde chcete vyvíjať novú aplikáciu. (Napríklad: <disk>:\wamp\www\test-app\). Po spustení skriptu checker.php sa Vám zobrazí informácia, ktorá Vám odhalí nedostatky, prípadne Success s nastaveniami Vášho serveru.
Nette Framework Requirements Checker Ak je všetko v poriadku, môžete pristúpiť k druhému kroku, ktorým je spustenie úvodnej testovacej aplikácie, ktorú nájdete v adresári sandbox. POZOR! Do tejto aplikácie je potrebné do adresáru LIBS nahrať celý adresár NETTE, prípade jeho minifikovanú verziu. Ak bude Váš pokus úspešný, mali by ste vidieť to, čo je na nasledovnom obrázku.
Nette

V ďalšej časti nášho seriálu si povieme čo-to o adresárovej štruktúre, o nastavení vývojového a produkčného config-u a o tom, ako sa správne rozhodnúť pre model, ktorý chceme použiť pre našu aplikáciu.

František Čaník František Čaník

Programátor, webdesigner a webdeveloper niekoľkých webových projektov. Má za sebou prácu v reklamnej agentúre, médiách a na rôznych pozíciách v oblasti IT.


Hodnoť článok:
0 0

20 komentárov k článku:

Komentovať môžu iba prihlásení

Zaregistruj sa cez bezplatnú registráciu alebo použi login cez Facebook (FB Connect)

Prihlás sa tu, ak už máš profil na Zajtra.sk:


Zabudol som heslo

0 0 Štefan Hosťovecký - SthosStudio 3.10.2011 20:50:20
Zdravím, chcel by som sa spýtať, ako spravím druhý krok, keď som tam nahodil obsah adresáru LIBS, no neviem ako prejsť k samotnú testovaniu, asi som v lese trochu. Prvým krokom som prešiel úspešne. Skúsil som si to hodiť potom aj na server no tam som neprešiel ani prvým krokom a chyba nastala pri ,,Register_globals Enabled
Configuration directive register_globals is enabled. Nette Framework requires this to be disabled.,, Ďakujem za rady.
0 0 Tomáš Nikl 11.8.2011 14:09:42
moc nechapu co je to web 2.0 ready :) neni nahodou web 2.0 typ webu, kde obsah tvori uzivatele? takovym typickym webem je napr facebook.. zjednodusene se nekdo prihlasi a pridava prispevky a ty se pote zobrazuji... nic sloziteho, co je tim u Nette mysleno?
0 0 Pan Inkognito (fb) 6.3.2011 00:00:00
Kdy bude dostupný další díl?
0 0 Jack Jackm Man (fb) 6.3.2011 00:00:00
Už chci druhý díl. :(
0 0 František Čaník (fb) 4.3.2011 00:00:00
@igor: urcite je to mozno dvojita robota, ked sa pise o 0.9.x, ale drzim sa skor toho, co som uz pisal... Je to samozrejme kazeho os. vec, na com bude vyvijat. V kazdom pripade urcite pocitam, ze kym bude hotovy cely serial, tak uz sa zacne pisat aj serial pre 2.

Ja osobne mam vytvorene aplikacie aj v 0.9.x a aktualne aj v 2.alpha a osobne to vidim tak, ze i ked niektore veci z 0.9.x neficia, 2-ka je rychlejsia a opat o nieco "cistejsia"... Horsie su prave tie vsetky BC breaky. ;) ...
0 0 Igor Hlina (fb) 2.3.2011 00:00:00
@František Mozno sa budes cudovat, ale v CR poznam niekolko webdevel studii, ktore robia projekty do ostrej prevadzky nad Nette z GITu. A ja to robim prave tak. Raz mi David povedal, ze Nette 2 je stabilnejsia ako Nette 0.9x, pretoze obsahuje novsi kod.

Jediny pramen nestabilnosti GIT kodu je, ze sa obcas objavi BC break, vtedy staci Nette neupdatovat, kym nie je zname riesenie (zvacsa 4 dni). Ale je pravda, ze v "novom Nette" nejdu niektore veci, co v 0.9 sli, tusim ze napr. dynamicke snippety.

Kazdopadne, jukni na zaver tohto prispevku vo fore http://j.mp/e7JTD8
0 0 František Čaník (fb) 1.3.2011 00:00:00
@Igor: Ziadny Nette "GURU" nebude nikdy nic odporucat, to je zakladny problem, ktory nette ma. To je aj hlavny dovod, preco sa od celkovej komunity ako takej ja osobne distancujem, pretoze mi to pripomina neskutocne skatulkovanie, ktore je bezpredmetne. V kazdom pripade toto nie je prvy request ohladne toho, preco prave 0.9.7, takze hodim rec s kompetentnymi a rozhodneme sa. Ja osobne mam ale rad veci, ktore su STABLE. Na server si tiez nehodis nieco, co sice funguje, ale nikto ti neruci za stopercentnu kvalitu.
0 0 Igor Hlina (fb) 28.2.2011 00:00:00
Obrovska chyba zacinat serial o Nette 0.9. Ziadny Nette guru nebude ziadnemu novacikovi doporucovat ucit sa Nette v0.X. Je to rovnake ako keby doporucoval ucit sa programovat v Pascale pre Win3.11.

Ak by sa napr. v seriali preberala zavinacova magia (pri urovni clankov na zajtra.sk o tom ale pochybujem), uzivatelia z toho nic nebudu mat, pretoze toto v nadchadzajucej stabilnej verzii Nette nebude.

BTW SNiPI-ho z Nette komunity vobec nepoznam, uvidime na akej urovni serial bude.
0 0 Pan Inkognito (fb) 26.2.2011 00:00:00
Btw, ten sumár by mohl být zajímavej - osobně mě docela zajímá, jaký tam jsou změny ;-)
0 0 Pan Inkognito (fb) 26.2.2011 00:00:00
A kde je ta věta? :-) já vidím jen: "Verze 2.0 alpha by měla být plně funkční a použitelná na ostrém prostředí, označení „alpha“ znamená, že do vydání finální verze se některé vlastnosti změní. Přechod však bude snazší, než z verze 0.9, která je ověřená, avšak již nevyvíjená."
Osobně mi to nevadí, taky jsem chtěl pracovat s verzí 0.9.7, ale komunita mě skoro ukamenovala, když jsem se ptal, kdo s tím pracuje. Pokud se bude řešit seriál pro finální 2.0, tak v tom nevidím problém :-) tak hodně štěstí a nervů
0 0 František Čaník (fb) 26.2.2011 00:00:00
@Jack: Tak to si uhádol, skutočne to neviem kedy bude :) Ja to síce môžem poslať, ale nie je v mojich rukách dátum zverejnenia. V každom prípade, celý seriál chcem riešiť tak, aby sa ľudia mohli zoznámiť so všetkým, s čím som sa zoznámil aj ja. Možno "vystríhať" od niektorých chýb a tak podobne.
0 0 František Čaník (fb) 26.2.2011 00:00:00
@Inkognito: Můžu udělat nějakej sumár pro a proti alpha verzi, no když čtu správně stránky nette.org, tak mi nemůže ujít věta "Nepodoručujem, pro použití v produkčním prostředí", což znamená, že pokud není fakt stable release, moc bych se do toho nehrnul. Dávam však za pravdu, že psát o 0.9.7 je možná riziko, protože nikdo neví, kdy bude alpha jako final, avšak pokud tomu je tak, jak tomu je - tedy, že není alpha odporučena pro produkční prostředí, tak pak je prozatím zbytečný o tom psát... Navíc, když bude final 2.0, možná se bude řešit i seriál pro tuhle verzi ;)
0 0 Jack Jackm Man (fb) 26.2.2011 00:00:00
Čaník, vím že přesný datum nevíš, ale kdy by tak mohl být druhý díl?Tydle základní věci už vím, ale pořád jsem si v Nette nejistý, tak bych rád něco odborného, na nette.org je sice dost návodů, ale věřím, že podle tohoto to pochopím více. ;)
0 0 Pan Inkognito (fb) 26.2.2011 00:00:00
No já jenom, že sám David doporučuje všechny nové projekty stavět na alpha verzi - není to tak pojmenované kvůli tomu, že by nebyla stabilní. Člověk bude mít aspoň míň práce s případným přechodem na finální verzi 2.0 a není ochuzen o některé vychytávky. Každopádně držím palce, v PHP sice už nedělám (díky Bohu), ale určitě budu seriál sledovat :-)
0 0 František Čaník (fb) 26.2.2011 00:00:00
@Jack: Jasne, uz sa na nom pracuje... @Andrew: Do buducnosti budem na to mysliet ;)
0 0 Andrew Bushak (fb) 26.2.2011 00:00:00
Príliš krátky článok, napr. niečo, čo plánuješ do ďalšej časti, by už malo byť v tejto. Takto som to prečítal na jeden hlt a ďalej nič. I keď je to len úvodná časť.
0 0 Jack Jackm Man (fb) 26.2.2011 00:00:00
už chcu druhý díl a další.. )
0 0 František Čaník (fb) 26.2.2011 00:00:00
@Inkognito: Proč? Vcelku jednoduše řečeno, protože je to alpha. :) A myslím, že jsem v úvodu napsal pár řádku proč.
0 0 Pan Inkognito (fb) 26.2.2011 00:00:00
Proč autor nesáhl po 2 alpha? (Nerýpu, jen se ptám :-))
0 0 Jan Štol (fb) 26.2.2011 00:00:00
Skvělý! Konečně něco o Nette, něco aktuálního...moc se těšim na pokračování ;)
Zajtra.sk > Programovanie > PHP > Nette PHP framework: Úvodné slovo k českému PHP framework-u


Kritika

Vieš ako robiť veci lepšie? Pomôž našim odvážnejším členom a skritizuj im projekty!

Reklama

Seriály zo Zajtra.sk

Reklama