Minta MVC és a PHP, 1. rész
Minta Model-View-Controller (MVC). nyitott végén 1970, ez egy szoftver tervezési mintát építészet, amelynek fő feladata az, hogy külön a munka funkciók adatokat a reprezentációk. Elméletileg egy jól megtervezett MVC-alkalmazás lehetővé teszi frontend és backend fejlesztő munkája során nem zavarhatja a felelősségi területén egymással, azaz a frontend fejlesztő nem kell tudni semmit a „konyha” annak backend társaik, és fordítva.
Bár eredetileg úgy tervezték, MVC fejlesztésére asztali alkalmazások, azt már alkalmazkodott a mai problémákat, és élvezte a webfejlesztők nagyon népszerű, mert köszönhetően a felelősség megosztását lehetővé vált, hogy egyértelmű, kész újra használni kódot. MVC eredményez egyértelmű, moduláris rendszer, amely lehetővé teszi a fejlesztők számára, hogy gyorsan módosíthatja a meglévő kódot.

megértés MVC
Mint már említettük, a minta neve származik a rövidítése a három szó: Model (modell), View (nézet) és a vezérlő (PLC). Röviden, a minta a munka elv szemléltethető a diagram (az eredeti verzió megtalálható a Wikipedia):

Ez az ábra világosan mutatja, egyirányú információáramlást a mintát, és azt is leírja a szerepe az egyes összetevő.
A modell használata a hozzáférés és manipulálni az adatokat. A legtöbb esetben a modell - ez az, ami hozzáféréshez használt adattárba (pl adatbázis). A modell interfészt nyújt adatok visszakeresése és azok létrehozását, módosítását és törlését a tárolóból. Az összefüggésben minta MVC modell a közvetítő a benyújtás és a vezérlő.
Rendkívül fontos jellemzője a modell, hogy technikailag nincs tudomása, hogy mi történik az adatokat a vezérlő és a kilátást. A modell soha nem, vagy számíthatunk kérések / egyéb összetevői a mintát.
Azonban mindig emlékezni, hogy a modell - nem csak egy átjáró az adatbázis eléréséhez, vagy más rendszer, amely csak foglalkozik, hogy az adatátviteli ide-oda. Modell - olyasmi, mint egy ellenőrzőpont az adatokat. A modell a legtöbb esetben a legnehezebb része a rendszernek, részben annak a ténynek köszönhető, hogy maga a modell van egy link az összes többi része.
gondolat
Előadás - ez az, ahol a kapott adatokat a modell megjelenik a megfelelő formában. A hagyományos webes alkalmazások, belül kialakított MVC-minta ábrázolása - ez egy olyan rendszer része, amely fut a generációs HTML-kódot. Képviselet is felelős egyre felhasználói művelet érdekében küldje el a vezérlő. Például, a nézet azt mutatja, a gomb a felhasználói felületen, majd megnyomja ez okozza a megfelelő vezérlő tevékenységének.
Vannak tévhiteket célját bemutató, különösen az internetes fejlesztői környezet, csak most kezdik építeni a használó alkalmazások MVC. Az egyik leggyakrabban megsértették a szabályokat, hogy az ötlet semmiképpen nem tud kommunikálni a modell. és az összes adatot kapott képviselet jöjjön csak a vezérlő. A gyakorlatban, a fejlesztők gyakran figyelmen kívül hagyják ezt a koncepciót, áll az MVC-minta alapján. A cikk Fabio Cevasco A CakePHP keretrendszer: Az első harapás világosan mutatja, hogy ez zavaró megközelítés az MVC a példa keretében CakePHP egyik a sok nem szabványos MVC-keretek:
Rendkívül fontos, hogy megértsük, hogy annak érdekében, hogy a helyes MVC-architektúra, nem kell közvetlen közötti kölcsönhatásokat ábrázolások és modellek. Minden közötti adatcserét logika kell végrehajtani a vezérlők.
Ezen kívül van egy közös tévhit, hogy az ötlet - ez csak egy sablon fájlt. Amint Tom Butler, ez a tévhit van egy hatalmas méretű annak a ténynek köszönhető, hogy sok fejlesztő már az elején félreértette MVC szerkezetű, majd elkezdik önteni a „tudás” a tömegek kezdő fejlesztők. Tény, hogy egy ötlet - ez sokkal több, mint egy sablon, de sok keretek beépített alapján MVC-mintát, így torz a koncepció a gondolat, hogy mindenki már nem érdekel, hogy jól vannak alkalmazásaik terén MVC-mintát.
Egy másik fontos szempont, hogy az ötlet nem működik a „tiszta” az adatokat a vezérlő, a vezérlő még soha nem dolgozott az ötlet, hogy bypass-os modell. Kölcsönhatás során az adatkezelő és a bemutató modell mindig legyen közöttük.
ellenőr
Controller - ez az utolsó része a MVC kötegeket. A feladat vezérlő adatokat fogad a felhasználó és a modell manipuláció. Ez a vezérlő, és csak ő az, hogy egy olyan rendszer része, amely kölcsönhatásba lép a felhasználó.
Dióhéjban, a vezérlő lehet leírni, mint egy információs kollektor küld neki modellek feldolgozása és tárolása. Ő nem csinál semmit az adatokat, de csak azért, hogy tudja, hogy ezeket a felhasználó. A vezérlő van társítva egy és ugyanazt a modellt ábrázolás, ezáltal rendezésére egy egyirányú adatfolyam, a vezérléshez szükséges minden egyes szakaszában.
Fontos megjegyezni, hogy a vezérlő megkezdi működését csak eredményeként felhasználói interakció az ábrázolás, amely alkalmas szabályozó funkciót. A leggyakoribb hiba a fejlesztők, hogy a vezérlő tekinthetjük egyszerűen átjárót a benyújtás és a modell. Ennek eredményeként, a szabályozó feladatkörét az, hogy el kell végezni a benyújtás (by the way, ez az, ahol a lábak nőnek a gondolat, hogy az ötlet - ez csak egy sablon fájlt). A tetején, hogy sokan nem lerakó minden adatfeldolgozó logika, elfelejtve, amit a MVC egy modell.
Azt javaslom, hogy próbálja meg végrehajtani a fent leírt egy kis melléképület. Kezdjük azzal, hogy ez létre fog hozni egy középkategóriás modell, nézet és vezérlő: