Mi az MVC?
MVC szabványok a Model-View-Control számára. Ez egy építészeti minta, amely három fő részre osztja az alkalmazást.
1. A modell az üzleti logikával és az adatbázis-interakciókkal foglalkozik
2. A kontroller koordinálja a modell és a nézet közötti tevékenységeket
3. A View felelős az adatok bemutatásáért
Az alábbiakban bemutatjuk az MVC építészeti mintázatának néhány előnyét
- Laza kapcsolás - az alkatrészek egymástól függetlenül léteznek és működnek.
- Rugalmasság - az egyes alkatrészeken könnyen változtatni lehet
- Fokozott termelékenység - egynél több ember dolgozhat a projekten. A front-end fejlesztők a nézeteken és a prezentációkon dolgozhatnak, míg a háttér-fejlesztők a modellekre koncentrálhatnak, és mivel a rendszer lazán van összekapcsolva, a nap végén működik
Ebben az oktatóanyagban megtudhatja:
- Mi az MVC?
- Modell
- Vezérlő
- Kilátás
- Hogyan működnek az MVC keretrendszerek?
- CodeIgniter vezérlő
- CodeIgniter modell
Modell
A modell felelős az adatforrásokkal való interakcióért. Ez általában adatbázis, de lehet a kért adatokat szolgáltató szolgáltatás is. Az is általános gyakorlat, hogy az üzleti logika a modellekben található, szemben a vezérlővel. Ezt a gyakorlatot általában zsírmodellnek nevezik zsírmodellnek.
A modell általában adatokat ír be az adatbázisba, mechanizmust biztosít az adatok szerkesztésére, frissítésére és törlésére. Egy modern webalkalmazásban a modellek adatelérési tervezési mintákat, például aktív rekordot használnak, hogy megkönnyítsék az adatbázissal való interakciót.
Például a CodeIgniter egy beépített Active Record könyvtárral segíti a modelleket, míg más keretrendszerek, például a Laravel az Eloquent Object Relational Mapper (ORM) szolgáltatást használja, amely segíti az adatokhoz való hozzáférést.
Vezérlő
A vezérlő meghallgatja a felhasználóktól érkező erőforrás-kéréseket. Közbenső szerepet játszik a modell és a nézet között, és időnként végrehajt néhány üzleti szabályt is. Tegyük fel, hogy a vezérlő kérést kap egy felhasználó regisztrálására az adatbázisban.
Az adatkezelő elvégezheti az adatok ellenőrzését a benyújtottakon annak biztosítása érdekében, hogy az összes előírt paraméter beküldődjön. Ha valami hiányzik, a felhasználót a megfelelő hibaüzenettel a regisztrációs oldalra irányítja. Az adatkezelő azt is kérheti a modelltől, hogy végezzen több ellenőrzést, ellenőrizve, hogy a benyújtott e-mail cím már létezik-e. Ha minden érvényesítési szabály megfelel, akkor a vezérlő elküldi az adatokat a modellnek folyamatra, és várja a választ.
Miután a modell feldolgozta az információt és pozitív választ adott, a vezérlő betölti a megfelelő nézetet, és paraméterként adja át a modelltől visszaküldött adatokat.
Kilátás
A nézet a végfelhasználónak bemutatott adatokkal foglalkozik. A webalkalmazásokban a nézetek gyakran HTML-t, CSS-t és opcionálisan JavaScript-et tartalmaznak. A nézetek minimális programozási kódot tartalmaznak. A nézetekben található kódot általában a modell vagy a segítő funkció paramétereként kapott adatgyűjtemények közötti áttekintésre használják az adatok tisztításához vagy a rekordok szerkesztésére szolgáló hivatkozások létrehozásához. A legtöbb modern webalkalmazás általában olyan sablonmotorokat használ, amelyek meghatározzák saját szintaxisukat, amely inkább pszeudokódhoz hasonlít, és a tervezők számára könnyen érthető. A CodeIgniter alkalmazásakor általános gyakorlat a rövid PHP címkék és vezérlő struktúrák használata. Ha valamit megjelenít a CodeIgniter alkalmazásban, használhatja a következő kódot
Szemben a
A vezérlő struktúrákat általában a következőképpen írják fel
Amint a fenti példából látható, a nézet a PHP és a HTML kombinációját fogja használni, ahelyett, hogy mindent tiszta PHP kódba csatolna.
Hogyan működnek az MVC keretrendszerek?
A következő kép az MVC keretrendszer működését mutatja
A vezérlő megkapja a felhasználótól a kérést, szükség esetén kölcsönhatásba lép az adatbázis-modellel, majd az eredményt visszaküldi a böngészőnek HTML-kód formájában, amelyet a böngésző ember által olvasható formátumban értelmez és megjelenít a felhasználó számára.
CodeIgniter vezérlő
Nézzük most azt, hogy mi történt éppen, amikor betöltöttük a fenti URL-t a webböngészőbe.
Nyissa meg a Welcome.php vezérlő található alkalmazás / vezérlők fájlt
Látnia kell a következő kódot
load->view('welcome_message');}}
ITT,
- meghatározott ('BASEPATH') VAGY kilépés ('Nincs engedélyezve a parancsfájl elérése'); megakadályozza a vezérlőhöz való közvetlen hozzáférést, ha a kérés nem az index.php fájlon keresztül érkezett. ez biztonsági célokra szolgál.
- A Class Welcome kiterjeszti a CI_Controller {…} meghatározza a Welcome vezérlő osztályát, és kiterjeszti a CI_Controller szülő osztályt
- public function index () {…} meghatározza az index metódust, amely válaszol az URL-re: http: // localhost: 3000
- $ this-> load-> view ('welcome_message'); betölti az üdvözlő_ üzenet üzenetet, amely az alkalmazás / nézetek könyvtárban található
Most az alábbiakban frissítjük az index metódust
public function index(){$this->load->model('customers_model');$data['customer'] = $this->customers_model->get_customer(3);$this->load->view('welcome_message',$data);}
ITT,
- $ this-> load-> model ('customers_model'); betölti az ügyfelek modelljét.
- $ data ['customer'] = $ this-> customers_model-> get_customer (3); meghívja a get_customer metódust a customers_model és átadja a 3. paraméterben. Ebben a példában keményen kódoltuk az értéket, de a való életben ez az URI paramétere lenne.
- $ this-> load-> view ('welcome_message', $ data); betölti a welcome_message nézetet és átadja a $ data változót a nézetnek
CodeIgniter modell
Most hozzuk létre azt a nézetet, amelyre a fenti kódban hivatkoztunk. Az egyszerűség kedvéért a modellünk nem fog kölcsönhatásba lépni az adatbázissal, de statikus ügyfélrekordot ad vissza. A következő oktatóanyagokban adatbázisokkal fogunk dolgozni.
Hozzon létre egy Customers_model.php fájlt az alkalmazásban / modellekben
Adja hozzá a következő kódot
ITT,
- class Customers_model extends A CI_Model {…} meghatározza a Customers_model modellt, amely kiterjeszti a CI_Model modellt.
- a get_customer ($ id) {…} nyilvános függvény a vásárló megszerzésének módját az ügyfél-azonosító alapján határozza meg
- A $ data […] meghatározza ügyfelünk statikus értékeit. Ennek az adatbázisból visszaadott sornak kell lennie.
- return $ data; visszaadja az ügyfél adatait.
Vagyis a mi modellünkhöz. Módosítsuk most az welcome_message nézetet
Nyissa meg a welcome_message.php fájlt
application/views/welcome_message.php
Cserélje ki a kódot a következőkre
CodeIgniter MVC Basics Customer Details Card
Customer ID :
First Name :
Last Name :
Address :
Mentse a módosításokat
Töltse be a következő URL-t a webböngészőbe
http: // localhost: 3000 /
Látnia kell az ügyfélkártyát az alábbi képen látható módon
Összegzés
- Az MVC egy építészeti minta, amely három fő részre osztja az alkalmazást
- A modell felelős az adatforrásokkal való interakcióért
- A vezérlő meghallgatja a felhasználóktól érkező erőforrás-kéréseket
- A webalkalmazásokban a nézetek gyakran HTML-t, CSS-t és opcionálisan JavaScript-et tartalmaznak
- A vezérlő megkapja a felhasználótól a kérést, szükség esetén kölcsönhatásba lép az adatbázis-modellel, majd HTML-kód formájában visszaküldi az eredményt a böngészőnek