A Yii a model-view-controller (MVC / modell-nézet-kontroller/vezérlő) tervezési mintát valósítja meg, ami webprogramozás terén széleskörűen alkalmazott. Az MVC célja elválasztani az üzleti logikát a felhasználói felülettel kapcsolatos elgondolásoktól oly módon, hogy a fejlesztők minél könnyebben változtathassák meg az egyes részeket anélkül, hogy a többire hatással lennének. Az MVC mintában
a modell képviseli az információt (adatot) és az üzleti logikát; a nézet tartalmazza a felhasználói felület elemeit, úgy mint szövegek, űrlapok; a kontroller/vezérlő pedig kezeli a modell és a nézet közti párbeszédet.
Az MVC mellett a Yii a 'front-controller'-t, más néven alkalmazást, is bevezeti, ami a felhasználói kérések feldolgozásához biztosít végrehajtási környezetet. Az alkalmazás feloldja a felhasználói kérést, majd továbbítja a megfelelő kontrollernek további feldolgozásra.
A következő ábra egy Yii alkalmazás statikus felépítését mutatja:
Egy Yii alkalmazás statikus felépítése
Egy tipikus munkafolymat
A következő ábra egy tipikus munkafolyamatot mutat, aminek során a Yii alklamzás egy felhasználói kérést kezel:
Egy Yii alklamazás tipikus munkafolyamata
1. A felhasználó kérést intéz a következő URL-lel `http://www.example.com/index.php?r=post/show&id=1` a webszerver pedig a kérést kezelendő, végrehajtja a rendszertöltő `index.php` szkriptet.
2. A rendszertöltő szkript létrehoz egy alkalmazás példányt, és futtatja.
3. Az alkalmazás részletes információt kap a felhasználói kérésről a `request` nevű alkalmazás komponens-től.
4. Az alklamazás meghatározza a kért kontroller-t és tevékenységet egy `urlManager` nevű alkalmazás komponens segítségével. A jelenlegi példában ez a `post` kontrollert jelenti, ami a `PostController` osztályra hivatkozik; a tevékenység pedig `show`, aminek a tényleges jelentését a kontroller határozza meg.
5. Az alkalmazás példányosítja a kért kontrollert, hogy a továbbiakban kezelje a felhasználói kérést. A kontroller meghatározza, hogy a `show` tevékenység a kontroller osztályának `actionShow` metódusára vonatkozik. Ezek után a tevékenységhez kapcsolódó szűrőket hoz létre (pl.: hozzáférés ellenőrzés, benchmarking). A tevékenység végrehajtódik, ha a szűrők ezt engedélyezik.
6. A tevékenység beolvassa az adatbázisból az `1`-es ID-jű `Post` modell-t.
7. A tevékenység lefordítja a `show` nevű nézet-et a megadott `Post` modellel.
8. A nézet kiolvassa és megjeleníti a `Post` modell tulajdonságait.
9. A nézet végrehajt néhány kütyü-t.
10. A nézetfordítási eredmény beillesztésre kerül az elrendezés-be.
11. A tevékenység befejezi a nézet fordítást és az eredményt megjeleníti a felhasználónak.
Eredeti: http://www.yiiframework.com/doc/guide/1.1/en/basics.mvc
Fordította: Endyl
No comments:
Post a Comment