Az első Yii alkalmazás létrehozása

Hogy tapasztalatot szerezzünk a Yii-vel, ebben a részben bemutatjuk, hogyan hozhatjuk létre első Yii alkalmazásunkat. A hathatós yiic eszközt fogjuk használni, ami alkalmas bizonyos kód létrehozási feladatok automatizálásara. Kényelem szempontjából feltételezzük, hogy YiiRoot a könyvtár, ahova a Yii telepítve lett, valamint WebRoot a webszerverünk 'document root'-ja.

Futtassuk a yiic-t parancssorból a következők szerint:



Figyelem: A yiic futtatásakor Mac OS, Linux vagy Unix rendszereken szükség lehet a yiic fájl jogosultságainak módosítására, hogy futtatható legyen. Alternatívaként az eszköz a következőképpen is futtatható:


Ezáltal létrehoztunk egy Yii alkalmazás-vázat a WebRoot/testdrive könyvtárban. Az alkalmazás könyvtárstruktúrája megegyezik a legtöbb Yii alkalmazás számára szükségessel.

Egyetlen sor kód írása nélkül, már ki is próbálhatjuk első Yii alkalmazásunkat, ha böngészőnkkel a következő URL-re navigálunk:



Mint láthatjuk, az alkalmazás három lapból áll: a főoldal, egy kapcsolat lap, és a belépési oldal. A főoldal néhány, az alkalamazással valamint a felhasználó bejelentkezési állapotával kapcsolatos, alap információval szolgál, a kapcsolati lapon egy űrlapot találunk, amit kitöltve a felhasználók elküdhetik számunkra kérdéseiket/kéréseiket, a bejelentkezési lapon pedig lehetőség van a felhasználók azonosítására, mielőtt engedélyeznénk a hozzáférést érzékeny tartalmakhoz. További részletekért következzék néhány képernyőkép:

Főoldal

Főoldal

Kapcsolati lap

Kapcsolati lap

Bejelentkezési lap, beviteli hibákkal

Bejelentkezési lap, beviteli hibákkal

Bejelentkezési lap sikeres belépés után

Bejelentkezési lap sikeres belépés után

Bejelentkezési lap

Bejelentkezési lap

A következő ábra bemutatja az alkalmazás könyvtárstruktúráját. Részletes magyarázat a struktúra miértjéről a Konvenciók részben.



Kapcsolódás adatbázishoz

A legtöbb webalkalmazás adatbázissal támogatott. A mi próbaalkalamzásunk sem kivétel ez alól. Egy adatbázis használatához mindenekelőtt tudatnunk kell az alkalmazással, hogy hogyan csatlakozzon hozzá. Ezt elérhetjük az alkalmazás beállításfájljának WebRoot/testdrive/protected/config/main.php módosításával, az alábbiak szerint:



A fentiekben hozzáadunk egy db elemet a components tömbhöz, ami utasítja az alklamazást, hogy szükség esetén csatlakozzon a WebRoot/testdrive/protected/data/source.db SQLite adatbázishoz.

Figyelem: A Yii adatbázis-képessé tételéhez engedélyeznünk kell a PHP PDO kiterjesztését, valamint a meghajtó specifikus PDO kiterjesztést. A próbaalkalmazáshoz szükségünk van a php_pdo és a php_pdo_sqlite kiterjesztések engedélyezésére.

Végül fel kell készítenünk az SQLite adatbázisunkat, hogy a fenti beállítás használható legyen. Egy SQLite kezelő eszköz használatával készíthetünk egy adatbázist a következő séma alapján:



Figyelem: Ha MySQL adatbázist használunk, a fenti SQL-ben le kell cserélnünk az AUTOINCREMENT kifejezést AUTO_INCREMENT-re.

Az egyszerűség kedvéért csak egy, User nevű táblát hozunk létre az adatbázisban. Az SQLite adatbázis a WebRoot/testdrive/protected/data/source.db helyen van elmentve. Megjegyzendő, hogy mind a fájlnak, mind pedig az azt tartalmazó könyvtárnak írhatónak kell lennie a webszerver folyamata által az SQLite követelményei szerint.

CRUD műveletek megvalósítása

Térjünk a lényegre! Szeretnénk megvalósítani a CRUD (létrehozás, olvasás, frissítés és törlés) műveleteket az éppen létrehozott User táblához. Ez is egy általánosan szükséges rész a gyakorlati alkalmazásokban.

Ahelyett, hogy magunk bajlódnánk a kód megírásával, ismét a hathatós yiic eszközhöz folyamodunk, hogy automatikusan létrehozza számunkra a szükséges kódot. Ez a folymat scaffolding-ként (állványozás) is ismert. Indítsunk egy parancssori ablakot és hajtsuk végre a következőkben felsorolt parancsokat:



A fentiekben a yiic shell parancsot használjuk az alkalmazás vázunk módosításához. A parancssorban két alparancsot hajtunk végre: model User és crud User. Az előbbi létrehoz egy modell osztályt a User táblához, míg az utóbbi megvizsgálja a User modellt és létrehozza a CRUD műveletekhez szükséges kódokat.

Figyelem: Belefuthatunk "...could not find driver"-hez hasonló hibákba, holott a követelmény ellnőrző szerint a PDO és a megfelelő PDO meghajtó engedélyezve van. Ha netán ez történne, megpróbálhatjuk a yiic eszköz következők szerinti futtatását:


  
  

aholis a path/to/php.ini a valós PHP ini fájlra vonatkozik.

És most, felkeresve a következő URL-t, gyönyörködjünk az eddigi munkánkban:



Ez kilistázza a felhasználó bejegyzéseket a User táblában. Mivel a táblánk még nem tartalmaz rekordokat, jelenleg üres lesz a lista.

Kattintsunk a New User hivatkozásra a lapon. A bejelntekezési lapon találjuk magunkat, hacsak már ezt megelőzően be nem jelentkeztünk. Bejlentkezés után egy űrlappal találjuk szembe magunkat, aminek segítségével új felhasználót rögzíthetünk. Töltsük ki az űrlapot és kattintsunk a Create gombra. Ha hibát vétettünk az űrlap kitöltésekor, egy kis hibaüzenet lesz az eredmény, megakadályozandó, hogy elmentsük a megadott adatokat. Sikeres mentés után a listán megjelenik a frissen hozzáadott felhasználó.

Ismételjük meg a fenti lépéseket további felhasználók hozzáadásához. Vegyük észre, hogy a lista automatikusan lapozhatóvá válik, ha egy lapra túl sok felhasználó bejegyzés kerülne.

Ha adminisztrátorként lépünk be az admin/admin felhasználónév/jelszó párossal, megtekinthetjük a felhasználó-kezelési lapot a következő URL-en:



Ez a felhasználó bejegyzések egy kis táblázatát mutatja. A táblázat fejléceire kattintva az adott oszlop szerint rendezhetjük a listát. Valamint csakúgy, mint a felhasználó lista oldal, az adminisztrációs oldal is automatikusan lapozható, ha túl sok felhasználó jutna egy lapra.

Ez a sok remek képesség mind anélkül jött létre, hogy egy sor kódot is írtunk volna!

Felhasználó-kezelési oldal

Felhasználó-kezelési oldal

Új felhasználó létrehozása

Új felhasználó létrehozása
$Id: quickstart.first-app.txt 891 2009-03-25 15:20:56Z qiang.xue $