Tuesday, January 25, 2011

Mi is a Yii?

A Yii egy nagyteljesítményű, komponens alapú PHP keretrendszer nagyszabású
webalkalmazások fejlesztéséhez. Maximális újrahasznosíthatóságot tesz lehetővé
a webprogramozás terén, és a fejlesztési folyamatot is jelentősen meggyorsítja.
A Yii név (ejtsd: angolosan `Yee` vagy fonetikusan `[ji:]`) a következő szavakból
ered: *easy (egyszerű)*, *efficient (hatékony)* és *extensible (kiterjeszthető)*.

Követelmények

Egy Yii alapú webalkalmazás futtatásához egy webszerverre van szükség, mely
rendelkezik PHP 5.1.0 (vagy későbbi) támogatással.

Azoknak a fejlesztőknek, akik Yii-vel akarnak dolgozni, az objektum-orientált
programozás (OOP) megértése meglehetősen hasznosnak bizonyul, mivel a Yii egy
tisztán OOP keretrendszer.

Mire jó a Yii?

A Yii egy általános webprogramozási keretrendszer, ami voltaképpen felhasználható
bármilyen webalkalmazás fejlesztéséhez. Mivel könnyűsúlyú (light-weighted) és
kifinomult gyorsítótárazási megoldásokat nyújt, kifejezetten alkalmas nagy forgalmú
alkalmazások, úgy mint portálok, fórumok, tartalomkezelők (CMS), e-kereskedelmi
rendszerek, stb. fejlesztésére.

A Yii összehasonlítva más keretrendszerekkel

Mint a legtöbb PHP keretrendszer, a Yii egy MVC kertrendszer.

A Yii felülmúlja a többi a keretrendszert a következőkben: hatékony, képességekben
gazdag, és világosan dokumentált. A Yii a kezdektetől fogva komoly weblakalmazások
fejlesztésére lett tervezve. Nem egy projekt mellékterméke vagy netán harmadik féltől
származó kódok összefércelt változata, hanem a szerzők webalkalmazások fejlesztésében
és vizsgálatában szerzett tekintélyes tapasztalatának eredménye és a legnépszerűbb
webprogramozási keretrendszerek és alkalmazások tükröződése.

Eredeti: http://www.yiiframework.com/doc/guide/1.0/en/quickstart.what-is-yii
Fordította: Endyl

Friday, January 21, 2011

Yii Radiio 38. adás

Halihó,

Mivel az új Yii Radiio oldalon már van automatikus fordítás (igen, magyarra is!) ezért nem fogom fordítgatni az egyes részeket, csak a Twitter-en keresztül osztom majd meg az új linket.

Monday, January 17, 2011

Itt a Yii 1.1.6-os

Végre valahára itt van az 1.1.6-os változat. Személy szerint már nagyon vártam leginkább a beépített Adatbázis Migrációk miatt. Csak nagyjából nézzük mi van az új verzióban:

Újdonság:
- Adatbázis Migrációk
- DB Query építő (erről majd később próbálok valamit összerakni)

Változott:
- A filterek használata esetén a CGridView az első oldallal tér vissza.
- A $live paraméter változtatható az $htmlOptions-on keresztül (CHtml::clientChange()).

Javítások:
- PHP hibaüzenet CJuiDatePicker::$name használatánál.
- CActiveForm felesleges focus() JavaScript kódja.


A változtatások teljes listáját itt találhatjátok: http://www.yiiframework.com/files/CHANGELOG-1.1.6.txt

Tuesday, January 11, 2011

Egy Modell Validálási Esetei

Ha valakinek van ötlete, hogy lehetne a Validation Scenarios-t szépen magyarra fordítani, ne kíméljen (talán Értékellenőrzési Forgatókönyv-nek vagy Szabályozási Szintek-nek?).

Az 1.0.2-es megjelenése óta lehetőségünk van különböző Validálási Eseteket (Validation Scenario) beállítani modelljeinkhez. Ez nagyon hasznos olyan esetekben, amikor az alkalmazásunk több pontján lehet/kell egy modellen keresztül adatot bekérni a felhasználótól.

Például egy új felhasználó regisztrálásánál valószínűleg a 'felhasználónév' az 'email cím' és a 'jelszó' mezők kötelezőek, míg az 'elfelejtett jelszó' oldalon talán csak az 'email cím'. Itt egyből látszik, hogy ha mind a három mező kötelező alap esetben, akkor az 'elfelejtett jelszó' funkció nem igazán fog működni, hiszen ha felhasználóbarátok akarunk maradni, akkor nem fogjuk bekérni sem a felhasználónevet sem pedig a jelszót (amit úgyis elfelejtett a kedves kis felhasználó ;) )

Tehát hasonló problémákra kínál tökéletes megoldást a Validálási Esetek  használata amiket nagyon egyszerűen állíthatunk be az 'on' paraméterrel a különböző modell szabályokhoz (rules). Az 'on' paraméter talán már ismerős lehet adatbevitelnél (insert) vagy frissítésnél (update) attól függően, hogy melyik mentést (save) használjuk. Elég gyakran ez a kettő nem elég sajnos, viszont ennek az új megoldásnak köszönhetően akarmennyit készíthetünk. Nézzünk is egy példát:
protected/model/User.php



Ezekkel a beállításokkal Yii már tudni fogja, hogy mikor melyik Szabály fusson le. A példa kedvéért persze betettünk egy-két extra szabályt is. Remélhetőleg a megjegyzések elolvasása után már jobban érthető, hogy mire is jó ez az egész. Az összehasonlító (compare) szabálynál látni, hogy több Szintet is meg lehet adni vesszővel elválasztva (pl: 'register,update').

Tehát ha egy modell ellenőrzését (CModel::validate()) szeretnénk elvégezni, egyszerűen adjuk át a Validálási Esetet paraméterként:



Az eredeti cikk, Jonah által: http://php-thoughts.cubedwater.com/2009/validation-scenarios/