Kas ir PHP MVC ietvars?
PHP MVC ir lietojuma dizaina modelis, kas atdala lietojumprogrammas datus un biznesa loģiku (modeli) no prezentācijas (skata). MVC nozīmē Modelis, skats un kontrolieris.
Kontrolieris ir starpnieks starp modeļiem un skatiem.
Domājiet par MVC dizaina modeli kā automašīnu un vadītāju.
Automašīnai ir priekšējie stikli (skats), kurus vadītājs (kontrolieris) izmanto, lai uzraudzītu satiksmi uz priekšu, pēc tam ātrumu vai bremzi (modelis) atkarībā no tā, ko viņš redz priekšā.
Kāpēc izmantot PHP MVC Framework?
- PHP MVC ietvarstruktūras vienkāršo darbu ar sarežģītām tehnoloģijām;
- Visu sarežģīto ieviešanas detaļu slēpšana
- Nodrošinot standarta metodes, kuras mēs varam izmantot, lai izveidotu savas lietojumprogrammas.
- Paaugstināta izstrādātāju produktivitāte notiek tāpēc, ka jau ir daļēji ieviesta tādu darbību kā ieviešana, piemēram, savienojuma izveidošana ar datu bāzi, lietotāju ieejas attīrīšana utt.
- Profesionālu kodēšanas standartu ievērošana
Šajā apmācībā jūs uzzināsiet
- PHP MVC dizaina modelis
- PHP MVC ietvara veidi
- Sabiedriskās domas aptaujas lietojumprogrammas pārnešana uz CodeIgniter
- Datu bāzes konfigurācijas iestatījumi
- Mūsu modeļa izveide
- Mūsu viedokļu veidošana
- Pārbauda mūsu lietojumprogrammu
PHP MVC dizaina modelis
Tagad īsi apspriedīsim katru MVC dizaina modeļa sastāvdaļu.
Modelis - šī daļa attiecas uz biznesa loģiku un lietojumprogrammas datiem. To var izmantot, lai veiktu datu validāciju, apstrādātu datus un tos uzglabātu. Dati var nākt no;
- plakans fails
- datu bāzē
- XML dokuments
- Citi derīgi datu avoti.
Kontrolieris - šī ir daļa, kas nodarbojas ar lietotāju pieprasījumiem pēc resursiem no servera.
Piemēram, kad lietotāji pieprasa vietrādi URL ... /index.php?products=list, kontrolieris ielādēs produktu modeli, lai izgūtu produktu datus, un pēc tam rezultātus izvada saraksta skatā.
Īsumā, kontrolieris sasaista modeļus un skatus kopā atkarībā no pieprasītajiem resursiem.
Skatījumi - šī daļa attiecas uz datu parādīšanu lietotājam. Parasti tas notiek HTML lapu veidā.
PHP MVC ietvara veidi
Labākā PHP ietvara izvēle ir izaicinājums.
Lai izmantotu MVC priekšrocības, jums nav jāraksta savs ietvars.
Jums vajadzētu mēģināt izveidot tikai savu ar MVC saistītu lietojumprogrammu dizainu, lai saprastu, kā darbojas MVC ietvarstruktūras.
Kad esat apmierināts ar MVC ietvaru darbību, jums vajadzētu pāriet uz nobriedušiem un jau pārbaudītiem ietvariem.
Zemāk esošajā tabulā īsi aprakstīti daži populārie php ietvari un katra ietvara piedāvātās iespējas.
Sistēma | Apraksts |
---|---|
![]() | Tas ir viens no populārākajiem PHP MVC ietvariem. Tas ir viegls un tam ir īsa mācīšanās līkne. Tajā ir bagātīgs bibliotēku kopums, kas palīdz ātri izveidot vietnes un lietojumprogrammas. To var izmantot arī lietotāji ar ierobežotām zināšanām par OOP programmēšanu. CodeIgniter darbināmas lietojumprogrammas ietver;
|
![]() | Tas ir hierarhisks modeļa skata kontroliera HMVC drošs un viegls ietvars. Tam ir bagātīgs komponentu komplekts, lai ātri izstrādātu lietojumprogrammas. Uzņēmumi, kas izmanto Kohana, ietver;
|
![]() | Tas ir veidots pēc Rubīna uz sliedēm. Tas ir pazīstams ar tādiem jēdzieniem kā programmatūras projektēšanas modeļi, konfigurācijas princips, ActiveRecord utt. CakePHP darbināmās lietojumprogrammas ietver;
|
![]() | Tas ir spēcīgs ietvars, kas ir;
|
Sabiedriskās domas aptaujas lietojumprogrammas pārnešana uz CodeIgniter
Šajā apmācībā mēs izveidojām PHP aptaujas lietojumprogrammu. Šeit mēs pārnesīsim šo kodu uz CodeIgniter
- Lejupielādējiet jaunāko CodeIgniter versiju no viņu vietnes.
- Iegūstiet saspiestā faila saturu izstrādes direktorijā tīmekļa servera direktorijā. Šajā nodarbībā kā mapes nosaukumu izmantosim ciopinionpoll.
- Pārlūkojiet līdz vietrādim URL http: // localhost / ciopinionpoll /
Mēs tagad nodosim savu sabiedriskās domas aptaujas lietojumprogrammu CodeIgniter. Atgādināsim, ka mūsu pieteikums tika sadalīts trīs galvenajās sastāvdaļās, proti,;
- Priekšējais kontrolieris - tā ir daļa, kas atbild uz URL pieprasījumiem un atgriež pieprasīto lapu. Šis kods tiks ievadīts kontrolierī
- Modelis - tas ir kods, kas reaģē uz pieprasītajiem datiem un atgriež pieprasītos datus. Šis kods tiks iekļauts modelī
- Skati - tas ir kods, kas atbild par datu formatēšanu un parādīšanu. Šis kods nonāks skatā
- Pārlūkojiet uz mapi ciopinionpoll
- Atveriet failu database.php, kas atrodas lietojumprogrammas / konfigurācijas direktorijā.
- Atrodiet šādas koda rindas
Datu bāzes konfigurācijas iestatījumi
- Iestatiet lietotājvārdu root
- Iestatiet paroli vietējās saimniekdatora saknes parolei
- Datu bāzes nosaukums viedokļa_aptauja. Ņemiet vērā, ka mēs izmantosim iepriekšējā nodarbībā izveidoto datu bāzi.
- Saglabājiet izmaiņas un aizveriet failu.
Mūsu modeļa izveide
Tālāk mēs izveidosim savu modeli, kas paplašinās CI_Model. CI_Model ir daļa no CodeIgniter bibliotēkām. Modelis atradīsies lietojumprogrammā / modeļi Opinion_poll_model.php
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
ŠEIT,
- “Klases viedokļa_aptaujas_modelis paplašina CI_Modeli…” ir mūsu modelis, kas paplašina CI_Modelu
- “… Vecāks :: __construct ();” izsauc CI_Model konstruktoru
- “$ This-> ielādēt-> datu bāze ();” ielādē datu bāzes bibliotēku, lai mūsu lietojumprogramma varētu mijiedarboties ar datu bāzi
- “$ This-> db->” ir CodeIgniter aktīvais ieraksts. Pārbaudiet šo saiti, lai iegūtu vairāk informācijas par aktīvo ierakstu.
Mūsu kontroliera izveide Tagad izveidosim kontrolieri. Mēs izmantosim noklusējuma kontrolieri CodeIgniter, kas atrodas lietojumprogrammā / controllers / welcome.php. Nomainiet tā pirmkodus ar šādu kodu.
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 */?>
ŠEIT,
- “If (! Definēts ('BASEPATH')) iziet ('Nav atļauta tieša skripta piekļuve');" nodrošina, ka lietotāji tieši nepiekļūst kontrolieru klasei
- “Class Welcome paplašina CI_Controller…”, mūsu kontrolieris paplašina CI_Controller klasi
- “Public function __construct ()” izsauc CI_Controller klases kontroliera metodi un ielādē mūsu Opinion_poll_model modeli
- “Public function index ()…” ir funkcija, kas tiek kartēta uz index.php. tas izmanto CodeIgniter ievades klasi, lai pārbaudītu, vai ir iesniegts balsojums, pievienojiet to datu bāzei un pēc tam parādiet rezultātus. Ja ievades klases pasta masīvs ir tukšs, tas ielādē balsošanas lapu.
- “$ This-> input-> post ('…')" ir CodeIgniter ievades klase, kas sagrābj globālā mainīgā $ _POST saturu.
- “$ This-> Opinion_poll_model-> add_vote ($ this-> input-> post ('balsojums'))” izsauc modeļa add_vote metodi, lai pievienotu balsi datu bāzē.
Mūsu viedokļu veidošana
Atgādināsim no iepriekšējā piemēra, ka mums bija divas HTML lapas, viena - balsošanai un otra - rezultātiem. Lai izveidotu savus skatus, mēs izmantosim to pašu HTML kodu ar minimālām izmaiņām. Lietojumprogrammu / skatu direktorijā izveidojiet šādus failus
opinion_poll_form.phpJavaScript Libraries - Opinion Poll JavaScript Libraries - Opinion Poll
What is your favorite JavaScript Library?
Tagad izveidosim rezultātu lapas results.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:
Pārbauda mūsu lietojumprogrammu
Pieņemot, ka jūsu lietojumprogrammas saknes direktorijs ir ciopinion, pārlūkojiet vietni http: // localhost / ciopionpoll /
Noklikšķiniet uz pogas Labi, un jūs redzēsiet šādu brīdinājuma ziņojumu
Balsojiet par savu iecienīto kandidātu un pēc tam noklikšķiniet uz Labi. Tiks parādīta šāda rezultātu lapa
Secinājums
CodeIgniter ir viegli iemācāms un lietojams PHP MVC ietvars, kas var ievērojami samazināt lietojumprogrammu izstrādei patērēto laiku.
Kopsavilkums
- Sistēma ir bibliotēku kopums, kas nodrošina kopīgu uzdevumu daļēju īstenošanu.
- PHP ir vairākas atvērtā koda nobriedušas un pārbaudītas MVC sistēmas.
- Laba izstrādes pieeja atdala datus no prezentācijas un mudina lietojumprogrammā izmantot vienu ieejas punktu.
- Tradicionālās PHP lietojumprogrammas, kas seko lietojumprogrammu dizaina paraugpraksei, ar minimālām izmaiņām var pārnest uz MVC ietvariem.