MVC koncepciót kezdőknek

A koncepció a MVC (Model-View-Controller: Model-View-Controller) gyakran említik a világon a webes programozás az elmúlt években. Bárki, aki valaha is volt semmi köze a fejlesztési webes alkalmazások, ilyen vagy olyan módon szembe ezzel a rövidítéssel. Ma nézzük meg, milyen - MVC koncepciót, és miért vált népszerűvé.

ókori történelem

MVC - ez nem egy projekt sablon, ez egy szerkezeti minta, amely leírja egy eljárást a szerkezet a mi alkalmazás, felelősségi és interakció az egyes részek ebben a struktúrában.

Úgy írták le először 1979-ben, természetesen a többi környezetre. Aztán nem volt fogalma a webes alkalmazások. Tim Berners Lee (Tim Berners Lee) elvetette a World Wide Web (WWW) a kilencvenes évek elején, és megváltoztatta a világot örökre. A sablon napjainkban használt, adaptációja az eredeti sablon webfejlesztés.

Veszett népszerűségét a szerkezet a webes alkalmazásokat fejlesztett köszönhetően felvétel két fejlesztőkörnyezetet, amely igen népszerűvé váltak: Struts és Ruby on Rails. Ez a két fejlesztőkörnyezetet vázolt módon a fejlesztési száz munkakörnyezetben létre később.

MVC koncepciót kezdőknek

MVC web alkalmazásokhoz

Az ötlet alapját képező szerkezeti MVC sablon nagyon egyszerű: meg kell, hogy világosan osztani a felelősséget különböző működési mi alkalmazások:

MVC koncepciót kezdőknek

Az app van osztva három fő összetevője, amelyek mindegyike felelős a különböző feladatokat. Lássuk, hogy pontosan alkatrészek példa.

Egy szabályozó (Controller)

A vezérlő vezérli felhasználói kérések kapott (a HTTP GET vagy POST kérések, amikor a felhasználó megnyomja a felhasználói felület elemeit különböző tevékenységekhez). Fő feladata -, hogy hívja és koordinálja az intézkedés a szükséges erőforrások és szolgáltatások elvégzéséhez szükséges intézkedéseket a felhasználó által megadott. Jellemzően, a vezérlő okozza a megfelelő modell egy feladatot, és kiválasztja a megfelelő típusú.

Modell (Model)

MVC koncepciót kezdőknek

Az MVC szolgáltatja az adatokat, hogy a felhasználó kért (a könyv üzenete oldal, fotóalbum, stb.) Az adatmodell ugyanaz lesz, függetlenül attól, hogy szeretnénk bemutatni, hogy a felhasználó számára. Ezért választani az elérhető nézetek megjelenítésére adatokat.

A modell tartalmazza a legfontosabb része a logikája a program logikáját, hogy megoldja a problémát, amelyekkel mi is érintett (fórum, bolt, bank, stb.) A vezérlő tartalmazza az alapvető szervezeti logika alkalmazása (nagyon hasonlít a háztartás).

View (Nézet)

Típus különféle módjait bemutató adatok származnak a modell. Ez lehet egy sablont az adatok. Lehet, hogy több különböző, a vezérlő kiválasztja, amely illik a legjobban a jelenlegi helyzetet.

Webalkalmazás jellemzően egy sor vezérlők, modellek és típusok. A vezérlő lehet elhelyezni, mint egy mag, amely megkapja az összes kérés, ami más vezérlők a műveleteket végeznek, a helyzettől függően.

Nézzük a példát

Van egy speciális vezérlő kezeli az összes kapcsolódó tevékenységek könyvek (megtekintése, szerkesztése, létrehozása, és így tovább). Nevezzük books_controller.php példánkban. Emellett szükség van egy modell, például, book_model.php. amely feldolgozza az adatokat, és a kapcsolatos logika a helyzet a boltban. Összefoglalva, meg kell, hogy képviselje több típusú adatok, mint például a könyvek listáját, egy oldalt szerkesztésre, és így tovább.

MVC koncepciót kezdőknek

A vezérlő (books_controller.php) fogadja a felhasználói lekérdezés [1] (a HTTP GET vagy POST kérés). Mi lehet rendezni egy központi vezérlő, például az index.php, ami megkapja a kérést, és felszólítja books_controller.php.

A szabályzó a kérést, és a paramétereket, majd felhívja a modell (book_model.php), kérve őt az elérhető könyvek listája a fantázia [2].

A modell kapja az adatokat az adatbázis (vagy más forrásból, ahol a tárolt információt) [3], alkalmazza a szükséges logikai és szűrőket, majd visszatér az adatokat, hogy képviselje a könyvek listája [4].

Mik az előnyei?

A legnyilvánvalóbb előnye, hogy megkapjuk a használata MVC koncepció - ez egyértelmű szétválasztása prezentációs logika (UI) és alkalmazási logika.

Amellett, hogy izolálása faj az alkalmazás logikáját, az MVC koncepció jelentős mértékben leegyszerűsíti a nagyméretű alkalmazásokat. A kód egy sokkal szervezettebb, és ezáltal megkönnyítette támogatása, vizsgálatok és újrafelhasználás megoldásokat.

És miért használja a megfelelő munkakörnyezet?

Ha olyan munkaterületet, az alap MVC szerkezetű már elkészült, és csak akkor bontsa ki a szerkezetet azáltal, hogy a fájlokat a megfelelő könyvtárakat, hogy megfeleljen az MVC. Ezen felül, akkor lesz egy sor funkcióval rendelkezik, amelyek már megírt és jól kipróbált.

Tekintsük CakePHP mint munkafolyadék példa MVC. A telepítés után három fő könyvtárak:

App könyvtárban hol helyezze el a fájlokat. Ez egy olyan hely, hogy fejlessze a kérelem részét.

A sütemény mappa feltöltött CakePHP fájlok (munkakörnyezet funkciók).

gyártók mappa tárolására használják a könyvtár harmadik fél PHP.

A munkaterület (app könyvtár) szerkezete a következő:

Be kell, hogy helyezze el a vezérlők a vezérlők könyvtárban. modell modellek könyvtárba és a nézetek könyvtárban.

Amint elkezdi használni a munkahelyi környezet, azonnal világossá válik, mely otthont ad szinte minden része az alkalmazás, akkor létre kell hozni vagy módosítani. Egy ilyen szervezet maga nagyban leegyszerűsíti fejlesztési és támogatási kérelmek.

A munkakörnyezet példánk

Emlékezz, megnéztük a könyvesboltba, és kíváncsi a felhasználók, akik akarta látni a teljes listát a könyvet a témában a fantázia. A vezérlő a felhasználó kérésére és koordinálja a szükséges intézkedéseket.

Tehát, amint a felhasználó rákattint a gombra, a böngésző kéri ennek url:

CakePHP formátumok URL-minta / controller / action / param1 / param2. ha a kereset - egy olyan funkció, hogy hívják a vezérlő. A régi klasszikus formában url fog kinézni:

ellenőr

Éles környezetben CakePHP a vezérlő így fog kinézni:

Egyszerű, nem igaz. Ez a vezérlő kerül tárolásra, mint books_controller.php és elhelyezni a / app / vezérlők. Ez tartalmaz egy listát a funkciók, egy művelet végrehajtásához a mi például, és egyéb funkciók műveletek elvégzéséhez kapcsolódó könyvek (hogy egy új könyvet, hogy távolítsa el a könyvet, és így tovább).

A munkakörnyezet biztosít számunkra egy csomó kész megoldásokat, és csak létre kell hozni egy listát a könyveket. Van egy alap osztályt, hogy már meg van az alapvető funkciókat a vezérlő, ezért szükséges, hogy örökölje a tulajdonságokat és funkciókat, ennek az osztálynak (AppController az utódja Controller).

Mindössze annyit kell tennie, hogy a cselekvési lista - ok modell, hogy az adatokat, majd válassza ki a képviselet típusa a felhasználó számára. Itt van, hogyan kell ezt csinálni.

this-> Book - ez a mi modell, és részben a kód:

A modell szerint, vissza kell térnie a könyvek listáját a kiválasztott témát (figyelembe vesszük a modell később).

set módszer a húr:

A vezérlő továbbítja az adatokat jelenti. Szétszórt könyveket vesz által visszaadott adatok a modell, és rendelkezésre állnak a faj számára.

Most már csak akkor jelenik meg a néző, de ez a funkció automatikusan végrehajtásra kerül CakePHP, ha már használja az alapértelmezett nézet. Ha azt akarjuk, hogy egy másfajta, szükséges, hogy kifejezetten hívja a render módot.

A modell még könnyebb:

Miért üres? Mert ez az utódja a szülő osztály, amely biztosítja a szükséges funkciót, és azt kell használni azokat az elnevezési CakePHP termelési környezetbe minden más feladatot automatikusan. Például CakePHP néven ismert, hogy a használt modell BooksController. és hogy az adatbázishoz való hozzáférés táblát könyveket.

A kód tárolódik book.php a mappában / app / modellek.

Csak annyit kell tennie, most -, hogy hozzon létre egy űrlapot (legalább egy) az akció listát. Részletek lesz HTML kódot, és néhány (a lehető legkisebb) sornyi PHP kód hurok révén kitűnő könyveket, amelyek a modell.

Mentsd meg a nézetet a list.ctp (lista - ez a neve a cselekvés, és a CTP jelenti CakePHP Template) a mappában / app / views / könyvek (mert ez a fajta fellépés a vezérlő).

Ennek oka, hogy mind a három komponens segítségével végezzük CakePHP munkakörnyezet!

  • Unicom, mert ez határozottan magasabb fejlettségi szint, és ez még mindig szüksége van a bokrok;)! Mely a koncepció is, Dmitriy_chelios, és ez a szoftver architektúra, viszont használja ezt a fogalmat. Idézet a Wikipédiából: „A végén # 769; ptsiya, vagy a végén # 769; pt (. Lat conceptio - megértése a rendszer) - egy bizonyos módon a megértés (értelmezés) egy tárgy, jelenség vagy folyamat, a fő szempont a témában; az irányadó ötlet szisztematikus lefedettség. " És viszont: keretek, mint például RubyOnRails, Django, stb Ezzel a szerkezettel!

  • Nem világos, hogy mikor és hol van kialakítva egy sor könyvet, ami kimenetet video. Controller A módszer az osztály leírt. Amennyiben Souza tárgy, és ha a fenti módszert alkalmazzák, hogy ez?

  • MVC koncepciót kezdőknek

    Által nyújtott információk útján két csatorna (látás és hallás) a képzés hatékonyságának sokkal jobb tanulás könyvekből. A házi feladatok és online tesztek lehetővé teszi, hogy folyamatosan úgy gondolja, a célnyelven, és azonnal ellenőrizze tudását!

    MVC koncepciót kezdőknek

    MVC koncepciót kezdőknek

    Ha azt szeretnénk, hosszú ideig, hogy tanulmányozzák, hogyan lehet HTML-t, akkor engem, mert van jó hír!

    MVC koncepciót kezdőknek

    Ha már megtanulta a HTML és tovább szeretne lépni, a következő lépés az lesz, hogy tanulmányozza a CSS technológiával.

    MVC koncepciót kezdőknek

    Ha azt szeretnénk, hogy megértsék a fogalmak domain és tárhely, megtanulják, hogyan kell létrehozni egy adatbázist, feltölteni a fájlokat a honlapon keresztül FTP szerver, hozzon létre aldomain konfigurálja a postaládákat a helyszínen, és ellenőrzi a részvétel, a tanfolyam kifejezetten az Ön számára!

    Kapcsolódó cikkek