Mikä on PHP MVC Framework?
PHP MVC on sovelluksen suunnittelumalli, joka erottaa sovellustiedot ja liiketoimintalogiikan (malli) esityksestä (näkymä). MVC tarkoittaa mallia, näkymää ja ohjainta.
Ohjain välittää mallien ja näkymien välillä.
Ajattele MVC-mallia autona ja kuljettajana.
Autossa on tuulilasit (näkymä), jota kuljettaja (ohjain) käyttää liikenteen seuraamiseen eteenpäin, sitten nopeutta tai jarrua (malli) riippuen siitä, mitä hän näkee eteenpäin.
Miksi käyttää PHP MVC Frameworkia?
- PHP MVC -kehykset yksinkertaistavat monimutkaisten tekniikoiden käyttöä;
- Piilottaa kaikki monimutkaiset toteutustiedot
- Tarjoamalla vakiomenetelmiä, joita voimme käyttää sovelluksiemme rakentamiseen.
- Kehittäjien tuottavuuden lisääntyminen johtuu siitä, että toimintojen, kuten yhteyden muodostaminen tietokantaan, käyttäjien syötteiden puhdistaminen jne., Perustoteutus on jo osittain toteutettu.
- Ammattimaisten koodausstandardien noudattaminen
Tässä opetusohjelmassa opit-
- PHP MVC -suunnittelukuvio
- PHP MVC -kehyksen tyypit
- Siirtää mielipidekyselysovellusta CodeIgniteriin
- Tietokannan kokoonpanoasetukset
- Mallin luominen
- Näkymiemme luominen
- Testaamme sovellustamme
PHP MVC -suunnittelukuvio
Keskustellaan nyt lyhyesti MVC-mallin jokaisesta osasta.
Malli - tämä osa koskee liiketoimintalogiikkaa ja sovellustietoja. Sitä voidaan käyttää tietojen validointiin, tietojen käsittelyyn ja tallentamiseen. Tiedot voivat olla peräisin;
- litteä viila
- tietokanta
- XML-asiakirja
- Muut kelvolliset tietolähteet.
Ohjain - tämä osa käsittelee käyttäjien pyyntöjä resursseilta palvelimelta.
Esimerkiksi, kun käyttäjät pyytävät URL-osoitetta… /index.php?products=list, ohjain lataa tuotemallin hakemaan tuotetiedot ja antaa tulokset sitten luettelonäkymässä.
Lyhyesti sanottuna ohjain linkittää mallit ja näkymät yhteen pyydettyjen resurssien mukaan.
Näkymät - tämä osa käsittelee tietojen esittämistä käyttäjälle. Tämä tapahtuu yleensä HTML-sivuina.
PHP MVC -kehyksen tyypit
Parhaan PHP-kehyksen valitseminen on haaste.
Sinun ei tarvitse kirjoittaa omaa kehystäsi, jotta voit hyötyä MVC: n eduista.
Sinun tulisi vain yrittää luoda oma MVC-sovellussuunnittelu ymmärtääksesi, kuinka MVC-kehykset toimivat.
Kun olet tyytyväinen MVC-kehysten toimintatapaan, sinun tulisi siirtyä kypsille ja jo testatuille kehyksille.
Alla olevassa taulukossa kuvataan lyhyesti joitain suosittuja php-kehyksiä ja ominaisuuksia, joita kukin kehys tarjoaa.
Kehys | Kuvaus |
---|---|
![]() | Se on yksi suosituimmista PHP MVC -kehyksistä. Se on kevyt ja sillä on lyhyt oppimiskäyrä. Siinä on runsaasti kirjastoja, jotka auttavat verkkosivustojen ja sovellusten rakentamisessa nopeasti. Käyttäjät, joilla on vähän tietoa OOP-ohjelmoinnista, voivat myös käyttää sitä. CodeIgniter-pohjaiset sovellukset sisältävät;
|
![]() | Se on hierarkkinen HMVC-mallinäkymäohjaimen turvallinen ja kevyt kehys. Siinä on laaja joukko komponentteja sovellusten nopeaan kehittämiseen. Kohanaa käyttäviä yrityksiä ovat;
|
![]() | Se on mallinnettu Rubyn kiskojen mukaan. Se tunnetaan käsitteistä, kuten ohjelmistosuunnittelumallit, kokoonpanosopimus, ActiveRecord jne. CakePHP: n käyttämät sovellukset sisältävät;
|
![]() | Se on voimakas kehys, joka on;
|
Siirtää mielipidekyselysovellusta CodeIgniteriin
Tässä opetusohjelmassa loimme PHP-kyselysovelluksen. Täällä me siirrämme koodin CodeIgniteriin
- Lataa viimeisin CodeIgniter-versio heidän verkkosivustoltaan.
- Pura pakatun tiedoston sisältö Web-palvelimen hakemiston kehityshakemistoon. Käytämme ciopinionpollia kansion nimenä tässä oppitunnissa.
- Selaa URL-osoitteeseen http: // localhost / ciopinionpoll /
Aiomme nyt viedä mielipidekyselysovelluksemme CodeIgniteriin. Muistakaamme, että sovelluksemme jaettiin kolmeen pääkomponenttiin, nimittäin;
- Etuohjain - tämä on osa, joka vastaa URL-pyyntöihin ja palauttaa pyydetyn sivun. Tämä koodi menee ohjaimeen
- Malli - tämä on koodi, joka vastaa pyydettyihin tietoihin ja palauttaa pyydetyt tiedot. Tämä koodi tulee malliin
- Näkymät - tämä on tietojen muotoilusta ja näyttämisestä vastaava koodi. Tämä koodi siirtyy näkymään
- Selaa ciopinionpoll-kansioon
- Avaa application / config-hakemistossa oleva database.php-tiedosto.
- Etsi seuraavat koodirivit
Tietokannan kokoonpanoasetukset
- Aseta käyttäjänimi juuriksi
- Aseta salasana paikallisen isännän juurisalasanaksi
- Tietokannan nimi mielipidekyselyyn. Huomaa, että käytämme edellisellä oppitunnilla luotua tietokantaa.
- Tallenna muutokset ja sulje tiedosto.
Mallin luominen
Seuraavaksi aiomme luoda mallimme, joka laajentaa CI_Model-mallia. CI_Model on osa CodeIgniter-kirjastoja. Malli sijaitsee sovelluksessa / mallit 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
TÄSSÄ,
- "Luokka mielipidekyselymalli laajentaa CI_Model…" on mallimme, joka laajentaa CI_Modelia
- "… Vanhempi :: __construct ();" kutsuu CI_Model-konstruktorin
- "$ This-> lataa-> tietokanta ();" lataa tietokantakirjaston, jotta sovelluksemme voi olla vuorovaikutuksessa tietokannan kanssa
- "$ This-> db->" on CodeIgniterin aktiivinen tietue. Tarkista tämä linkki saadaksesi lisätietoja aktiivisesta tietueesta.
Ohjaimen luominen Luodaan nyt ohjain. Käytämme oletusarvoista CodeIgniter-ohjainta, joka sijaitsee sovelluksessa / ohjaimet / welcome.php. Korvaa lähdekoodit seuraavalla koodilla.
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 */?>
TÄSSÄ,
- "If (! Define ('BASEPATH')) exit ('Ei suoraa komentosarjan käyttöä sallittu');" varmistaa, että käyttäjät eivät pääse suoraan ohjainluokkaan
- “Luokan tervetuloa laajentaa CI_Controller…” ohjaimemme laajentaa CI_Controller-luokkaa
- “Public function __construct ()” kutsuu CI_Controller-luokan kontrastimenetelmän ja lataa Opinion_poll_model-mallimme
- ”Public function index ()…” on funktio, joka kartoitetaan index.php-tiedostoon. se tarkistaa CodeIgniterin syöttöluokan, onko äänestys toimitettu, lisää se tietokantaan ja näytä sitten tulokset. Jos syöttöluokan postitaulukko on tyhjä, se lataa äänestyssivun.
- "$ This-> input-> post ('…')" on CodeIgniter-syöttöluokka, joka tarttuu globaalin muuttujan $ _POST sisältöön.
- ”$ This-> mielipiteen_kysely_malli-> add_vote ($ this-> input-> post ('ääni')) '' kutsuu mallin add_vote-menetelmää äänen lisäämiseksi tietokantaan.
Näkymiemme luominen
Muistakaamme edellisestä esimerkistä, että meillä oli kaksi HTML-sivua, yksi äänestämistä varten ja toinen tuloksia varten. Käytämme samaa HTML-koodia pienin muutoksin luodaksemme näkymämme. Luo seuraavat tiedostot sovellus- / näkymähakemistoon
opinion_poll_form.phpJavaScript Libraries - Opinion Poll JavaScript Libraries - Opinion Poll
What is your favorite JavaScript Library?
Luodaan nyt tulossivun 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:
Testaamme sovellustamme
Oletetaan, että sovelluksesi juurihakemisto on ciopinion, selaa osoitteeseen http: // localhost / ciopionpoll /
Napsauta OK-painiketta, näet seuraavan hälytysviestin
Äänestä suosikkiehdokkaasi ja napsauta sitten OK. Näet seuraavan tulossivun
Johtopäätös
CodeIgniter on helppo oppia ja käyttää PHP MVC -kehystä, joka voi vähentää huomattavasti sovellusten kehittämiseen kuluvaa aikaa.
Yhteenveto
- Kehys on joukko kirjastoja, jotka toteuttavat osittain yhteisiä tehtäviä.
- PHP: llä on useita avoimen lähdekoodin kypsiä ja testattuja MVC-kehyksiä.
- Hyvä kehitysmenetelmä erottaa tiedot esityksestä ja kannustaa käyttämään yksittäistä sisääntulopistettä sovellukseen.
- Perinteiset sovellussuunnittelun parhaita käytäntöjä noudattavat PHP-sovellukset voidaan siirtää MVC-kehyksiin minimaalisilla muutoksilla.