Mi a PHP MVC keretrendszer?
A PHP MVC egy olyan alkalmazás-tervezési minta, amely elválasztja az alkalmazás adatait és az üzleti logikát (modellt) a bemutatótól (nézet). Az MVC jelentése Model, View & Controller.
A vezérlő közvetít a modellek és a nézetek között.
Gondoljon az MVC tervezési mintájára, mint autóra és vezetőre.
Az autó rendelkezik szélvédővel (nézet), amelyet a vezető (irányító) használ az előre haladó forgalom, majd a sebesség vagy a fékezés (modell) függvényében, amit lát.
Miért érdemes használni a PHP MVC keretrendszert?
- A PHP MVC keretrendszerek egyszerűsítik az összetett technológiákkal való munkát;
- Az összes komplex megvalósítási részlet elrejtése
- Olyan szabványos módszerek biztosítása, amelyekkel felhasználhatjuk az alkalmazásokat.
- A fejlesztői termelékenység megnövekedése, mivel a tevékenységek, például az adatbázishoz való csatlakozás, a felhasználói bemenetek fertőtlenítése stb.
- A szakmai kódolási előírások betartása
Ebben az oktatóanyagban megtanulja-
- PHP MVC tervezési minta
- A PHP MVC keretrendszer típusai
- A közvélemény-kutatási alkalmazás portálása a CodeIgniterbe
- Adatbázis-konfigurációs beállítások
- Modellünk megalkotása
- Nézeteink megalkotása
- Alkalmazásunk tesztelése
PHP MVC tervezési minta
Most röviden tárgyaljuk meg az MVC tervezési mintázatának egyes elemeit.
Modell - ez a rész az üzleti logikával és az alkalmazás adataival foglalkozik. Használható adatok hitelesítésére, adatok feldolgozására és tárolására. Az adatok származhatnak;
- lapos reszelő
- adatbázis
- XML dokumentum
- Egyéb érvényes adatforrások.
Vezérlő - ez a rész foglalkozik a felhasználók erőforrás-kéréseivel a szerverről.
Például, amikor a felhasználók az URL / /index.php?products=list URL-t kérik, a vezérlő betölti a termékmodellt a termékadatok lekérésére, majd az eredményeket a listanézetben adja ki.
Dióhéjban a vezérlő összekapcsolja a modelleket és a nézeteket a kért erőforrásoktól függően.
Nézetek - ez a rész az adatok bemutatásával foglalkozik a felhasználóval. Ez általában HTML oldalak formájában történik.
A PHP MVC keretrendszer típusai
A legjobb PHP keretrendszer kiválasztása kihívást jelent.
Az MVC előnyeinek kihasználásához nem kell saját keretrendszert írni.
Csak saját MVC-hez kapcsolódó alkalmazás-terv létrehozását kell megkísérelnie, hogy megértse az MVC-keretrendszerek működését.
Miután jól érezte magát az MVC keretrendszer működésében, folytassa az érett és már tesztelt keretrendszerrel.
Az alábbi táblázat röviden ismerteti a népszerű php keretrendszereket és az egyes keretrendszerek által kínált szolgáltatásokat.
Keretrendszer | Leírás |
---|---|
CodeIgniter https://codeigniter.com/ | Ez az egyik legnépszerűbb PHP MVC keretrendszer. Könnyű és rövid tanulási görbével rendelkezik. Gazdag könyvtárakkal rendelkezik, amelyek elősegítik a weboldalak és alkalmazások gyors felépítését. Az OOP programozásának korlátozott ismereteivel rendelkező felhasználók is használhatják. A CodeIgniter által működtetett alkalmazások tartalmazzák;
|
Kohana http://kohanaframework.org | Ez egy hierarchikus modell-nézetvezérlő HMVC biztonságos és könnyű váz. Gazdag alkatrészkészlettel rendelkezik az alkalmazások gyors fejlesztéséhez. A Kohanát használó vállalatok közé tartoznak;
|
CakePHP www.cakephp.org | Ruby mintájára készült a sínen. Olyan fogalmakról ismert, mint a szoftvertervezési minták, a konfigurációkonfiguráció, az ActiveRecord stb. A CakePHP-alapú alkalmazások tartalmazzák;
|
www.framework.zend.com Zend | Ez egy erős keret, amely;
|
A közvélemény-kutatási alkalmazás portálása a CodeIgniterbe
Ebben az oktatóanyagban létrehoztunk egy PHP közvélemény-kutatási alkalmazást. Itt ezt a kódot a CodeIgniterbe portáljuk
- Töltse le a CodeIgniter legújabb verzióját a webhelyükről.
- Bontsa ki a tömörített fájl tartalmát a webkiszolgáló könyvtárában található fejlesztői könyvtárba. Ebben a leckében mappanévként a ciopinionpoll szót fogjuk használni.
- Keresse meg az URL címet : http: // localhost / ciopinionpoll /
Most át fogjuk vinni a közvélemény-kutatási alkalmazásunkat a CodeIgniter-be. Emlékezzünk arra, hogy alkalmazásunkat három fő összetevőre osztották, nevezetesen a;
- Első vezérlő - ez az a rész, amely válaszol az URL-kérésekre, és visszaadja a kért oldalt. Ez a kód a vezérlőbe kerül
- Modell - ez az a kód, amely válaszol a kért adatokra és visszaadja a kért adatokat. Ez a kód bekerül a modellbe
- Nézetek - ez az a kód, amely az adatok formázásáért és megjelenítéséért felelős. Ez a kód a nézetbe kerül
- Keresse meg a ciopinionpoll mappát
- Nyissa meg az database.php fájlt, amely az alkalmazás / config könyvtárban található.
- Keresse meg a következő kódsorokat
Adatbázis-konfigurációs beállítások
- Állítsa be a felhasználónév gyökerét
- Állítsa be a jelszót a localhost root jelszavához
- Az adatbázis neve a vélemény_kérdezéshez. Ne feledje, hogy az előző leckében létrehozott adatbázist fogjuk használni.
- Mentse el a módosításokat, és zárja be a fájlt.
Modellünk megalkotása
Ezután elkészítjük a CI_Model kiterjesztését lehetővé tevő modellünket. A CI_Model a CodeIgniter könyvtárak része. A modell az application / models vélemény_poll_model.php fájlban lesz
load->database();}public function total_votes(){$query = $this->db->select('COUNT(choice) as choices_count')->get('js_libraries');return $query->row()->choices_count;}public function get_results(){$libraries = array("", "JQuery", "MooTools", "YUI Library", "Glow");$table_rows = '';for ($i = 1; $i < 5; $i++){$sql_stmt = "SELECT COUNT(choice) choices_count FROM js_libraries WHERE choice = $i;";$result = $model->select($sql_stmt); $table_rows .= "";}public function add_vote($choice){$ts = date("Y-m-d H:i:s"); $data = array('choice' => $choice, 'ts' => $ts); $this->db->insert('js_libraries', $data);}}?> " . $ libraries [$i] . " Got: " . $result[0] . " votes
ITT,
- „Az osztály vélemény_poll_model kiterjeszti a CI_Modelt…” az a modellünk, amely kiterjeszti a CI_Modelt
- „… Szülő :: __construct ();” felhívja a CI_Model konstruktort
- "$ This-> betöltés-> adatbázis ();" betölti az adatbázis-könyvtárat, hogy alkalmazásunk kölcsönhatásba léphessen az adatbázissal
- A „$ this-> db->” a CodeIgniter aktív rekordja. Ellenőrizze ezt a linket, ha további információt szeretne az aktív rekordról.
Vezérlőnk létrehozása Most hozzuk létre a vezérlőt. Az alapértelmezett CodeIgniter vezérlőt fogjuk használni, amely az application / controllers / welcome.php fájlban található. Cserélje ki a forráskódot a következő kódra.
load->model('opinion_poll_model');}public function index() {if ($this->input->post('submitbutton') && !$this->input->post('vote')) {echo "";}if ($this->input->post('vote')) {$this->opinion_poll_model->add_vote($this->input->post('vote'));$data['total_votes'] = $this->opinion_poll_model->total_votes();$data['rows'] = $this->opinion_poll_model->get_results();$this->load->view('results', $data);} else {$this->load->view('opinion_poll_form');}}}/* End of file welcome.php *//* Location: ./application/controllers/welcome.php */?>
ITT,
- "If (! Define ('BASEPATH')) kilépés ('Nincs engedélyezve a parancsfájl hozzáférése');" biztosítja, hogy a felhasználók ne érjék el közvetlenül a vezérlő osztályt
- „A Class Welcome kiterjeszti a CI_Controller…” vezérlőnk kiterjeszti a CI_Controller osztályt
- A „public function __construct ()” meghívja a CI_Controller osztályvezérlő módszerét, és betölti a vélemény_poll_modell modellünket
- A „public function index ()…” az index.php fájlhoz társított függvény. a CodeIgniter bemeneti osztályával ellenőrzi, hogy leadtak-e szavazatot, felveszi az adatbázisba, majd megjeleníti az eredményeket. Ha a beviteli osztály post tömbje üres, akkor betölti a szavazási oldalt.
- A „$ this-> input-> post ('…')" a CodeIgniter bemeneti osztály, amely megragadja a $ _POST globális változó tartalmát.
- A „$ this-> vélemény_poll_model-> add_vote ($ this-> input-> post ('szavazás'))” meghívja a modell add_vote metódusát a szavazat hozzáadásához az adatbázisba.
Nézeteink megalkotása
Emlékezzünk vissza az előző példából, hogy két HTML oldalunk volt, az egyik a szavazáshoz, a másik az eredményekhez. Nézeteink elkészítéséhez ugyanazt a HTML-kódot fogjuk használni, minimális módosítással. Hozza létre a következő fájlokat az alkalmazás / nézetek könyvtárban
opinion_poll_form.phpJavaScript Libraries - Opinion Poll JavaScript Libraries - Opinion Poll
What is your favorite JavaScript Library?
Most hozzuk létre az eredményoldal eredményeit.php
JavaScript Libraries - Opinion Poll Results JavaScript Libraries - Opinion Poll Results
What is your favorite JavaScript Library?
people have thus far taken part in this poll:
Alkalmazásunk tesztelése
Ha feltételezzük, hogy az alkalmazás gyökérkönyvtára ciopinion, keresse meg a http: // localhost / ciopionpoll / oldalt.
Kattintson az OK gombra, és a következő figyelmeztető üzenet jelenik meg
Szavazz a kedvenc jelöltedre, majd kattints az OK gombra. Megjelenik a következő eredményoldal
Következtetés
A CodeIgniter egy könnyen megtanulható és használható PHP MVC keretrendszer, amely jelentősen csökkentheti az alkalmazások fejlesztésével töltött időt.
Összegzés
- A keretrendszer olyan könyvtárak összessége, amelyek a közös feladatok részleges végrehajtását biztosítják.
- A PHP számos nyílt forráskódú érett és tesztelt MVC keretrendszerrel rendelkezik.
- A jó fejlesztési megközelítés elválasztja az adatokat a prezentációtól, és ösztönzi az egyetlen belépési pont alkalmazását egy alkalmazásba.
- A hagyományos PHP-alkalmazások, amelyek követik az alkalmazás-tervezés legjobb gyakorlatát, minimális módosítással portálhatók az MVC-keretrendszerbe.