Cos'è il framework PHP MVC?
PHP MVC è un modello di progettazione dell'applicazione che separa i dati dell'applicazione e la logica di business (modello) dalla presentazione (vista). MVC sta per Model, View & Controller.
Il controller media tra i modelli e le visualizzazioni.
Pensa al modello di progettazione MVC come a un'auto e al conducente.
L'auto ha i parabrezza (vista) che il conducente (controller) utilizza per monitorare il traffico che precede, quindi la velocità o il freno (modello) a seconda di ciò che vede davanti.
Perché utilizzare PHP MVC Framework?
- I framework PHP MVC semplificano il lavoro con tecnologie complesse tramite;
- Nascondere tutti i dettagli di implementazione complessi
- Fornire metodi standard che possiamo utilizzare per creare le nostre applicazioni.
- Aumento della produttività degli sviluppatori, questo perché l'implementazione di base di attività come la connessione al database, la sanificazione dell'input dell'utente, ecc. Sono già parzialmente implementate.
- Adesione a standard di codifica professionale
In questo tutorial imparerai-
- PHP MVC Design Pattern
- Tipi di framework PHP MVC
- Portare l'applicazione del sondaggio d'opinione su CodeIgniter
- Impostazioni di configurazione del database
- Creare il nostro modello
- Creare le nostre opinioni
- Testare la nostra applicazione
PHP MVC Design Pattern
Discutiamo ora brevemente ogni componente del modello di progettazione MVC.
Modello : questa parte riguarda la logica aziendale e i dati dell'applicazione. Può essere utilizzato per eseguire convalide dei dati, elaborare i dati e archiviarli. I dati possono provenire da;
- archivio base
- Banca dati
- Documento XML
- Altre fonti di dati valide.
Controller : questa è la parte che si occupa delle richieste di risorse degli utenti dal server.
Ad esempio, quando gli utenti richiedono l'URL… /index.php?products=list, il controller caricherà il modello dei prodotti per recuperare i dati dei prodotti, quindi visualizzerà i risultati nella visualizzazione elenco.
In poche parole, il controller collega i modelli e le viste insieme a seconda delle risorse richieste.
Visualizzazioni : questa parte si occupa della presentazione dei dati all'utente. Di solito è sotto forma di pagine HTML.
Tipi di framework PHP MVC
Selezionare il miglior framework PHP è una sfida.
Non è necessario scrivere il proprio framework per beneficiare dei vantaggi di MVC.
Dovresti solo tentare di creare il tuo progetto di applicazione correlato a MVC per capire come funzionano i framework MVC.
Una volta che hai acquisito dimestichezza con il modo in cui funzionano i framework MVC, dovresti passare ai framework maturi e già testati.
La tabella seguente descrive brevemente alcuni dei popolari framework php e le caratteristiche che ogni framework offre.
Struttura | Descrizione |
---|---|
![]() | È uno dei framework PHP MVC più popolari. È leggero e ha una breve curva di apprendimento. Ha un ricco set di librerie che aiutano a costruire rapidamente siti web e applicazioni. Possono utilizzarlo anche gli utenti con una conoscenza limitata della programmazione OOP. Le applicazioni alimentate da CodeIgniter includono;
|
![]() | Si tratta di un framework HMVC HMVC HMVC Hierarchical Model View Controller sicuro e leggero. Dispone di un ricco set di componenti per lo sviluppo rapido di applicazioni. Le aziende che utilizzano Kohana includono;
|
![]() | È modellato su Ruby su rotaie. È noto per concetti come modelli di progettazione software, convenzione sulla configurazione, ActiveRecord ecc. Le applicazioni alimentate da CakePHP includono;
|
![]() | È una struttura potente che è;
|
Portare l'applicazione del sondaggio d'opinione su CodeIgniter
In questo tutorial, abbiamo creato un'applicazione di sondaggio PHP. Qui, trasferiremo quel codice su CodeIgniter
- Scarica l'ultima versione di CodeIgniter dal loro sito web.
- Estrai il contenuto del file zippato nella tua directory di sviluppo nella directory del tuo server web. Useremo ciopinionpoll come nome della cartella in questa lezione.
- Sfoglia l'URL http: // localhost / ciopinionpoll /
Ora trasferiremo la nostra applicazione per il sondaggio d'opinione su CodeIgniter. Ricordiamo che la nostra applicazione era divisa in tre componenti principali, vale a dire il;
- Front controller: questa è la parte che risponde alle richieste di URL e restituisce la pagina richiesta. Questo codice andrà nel controller
- Modello: questo è il codice che risponde ai dati richiesti e restituisce i dati richiesti. Questo codice entrerà nel modello
- Visualizzazioni: questo è il codice responsabile della formattazione e della visualizzazione dei dati. Questo codice entrerà nella visualizzazione
- Vai alla cartella ciopinionpoll
- Apri il file database.php che si trova nella directory application / config.
- Individua le seguenti righe di codice
Impostazioni di configurazione del database
- Imposta il nome utente su root
- Imposta la password sulla tua password di root dell'host locale
- Nome del database in opinion_poll. Nota che useremo il database creato nella lezione precedente.
- Salva le modifiche e chiudi il file.
Creare il nostro modello
Successivamente creeremo il nostro modello che estenderà CI_Model. CI_Model fa parte delle librerie CodeIgniter. Il modello si troverà in application / models 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
QUI,
- "Class Opinion_poll_model extends CI_Model ..." è il nostro modello che estende CI_Model
- "... parent :: __construct ();" chiama il costruttore CI_Model
- "$ This-> load-> database ();" carica la libreria del database in modo che la nostra applicazione possa interagire con il database
- "$ This-> db->" è il record attivo di CodeIgniter. Controllare questo collegamento per ulteriori informazioni sul record attivo.
Creazione del nostro controller Creiamo ora il controller. Useremo il controller CodeIgniter predefinito che si trova in application / controllers / welcome.php. Sostituisci i suoi codici sorgente con il codice seguente.
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 */?>
QUI,
- “if (!defined('BASEPATH')) exit('No direct script access allowed');” ensures that users do not directly access the controller class
- “class Welcome extends CI_Controller… ” our controller extends the CI_Controller class
- “public function __construct()” calls CI_Controller’s class contructor method and loads our Opinion_poll_model model
- “public function index()… ” is the function that maps to index.php. it uses CodeIgniter’s input class to check if a vote has been submitted, add it to the database then display the results. If the post array of the input class is empty, it loads the voting page.
- “$this->input->post('… ')” is the CodeIgniter input class that grabs the contents of the $_POST global variable.
- “$this->opinion_poll_model->add_vote($this->input->post('vote'))” calls the model’s add_vote method to add the vote into the database.
Creating Our Views
Recall from the previous example that we had two HTML pages, one for voting and the other for results. We will use the same HTML code with minimal modifications to create our views. Create the following files in application/views directory
opinion_poll_form.phpJavaScript Libraries - Opinion Poll JavaScript Libraries - Opinion Poll
What is your favorite JavaScript Library?
Let’s now create the results page 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:
Testing our application
Assuming the root directory of your application is ciopinion, browse to http://localhost/ciopionpoll/
Click on OK button, you will see the following alert message
Vote for your favorite candidate then click on OK You will see the following results page
Conclusion
CodeIgniter è un framework PHP MVC facile da imparare e da usare che può ridurre notevolmente il tempo dedicato allo sviluppo di applicazioni.
Sommario
- Un framework è un insieme di librerie che forniscono un'implementazione parziale di attività comuni.
- PHP ha una serie di framework MVC open source maturi e testati.
- Un buon approccio di sviluppo separa i dati dalla presentazione e incoraggia l'uso di un unico punto di ingresso in un'applicazione.
- Le applicazioni PHP tradizionali che seguono le migliori pratiche di progettazione dell'applicazione possono essere portate su framework MVC con modifiche minime.