MVC con Codeigniter e server WAMP
MVC è un acronimo che indica modello-controllo-vista e intende un modello di progettazione che separa la modellizzazione dei dati (il modello) dalla logica di business (il controllo) e dalla presentazione dei dati (la vista).CodeIgniter è specificatamente ideato per favorire la progettazione MVC.
Vediamo come realizzare un semplice progetto che rispetta il pattern MVC con CideIgniter.
Creiamo un progetto nuovo come indicato in questa sezione : Creazione di un progetto PHP con Eclipse su server WAMP chiamato TestMVC.
Creiamo tre classi php :
MVCModello.php in application\controllers
MVCControllo.php in application\models
MCVVista.php in application\views
Il cui codice è :
MVCControllo.php :
<?php
class MVCControllo extends CI_Controller
{
public function index()
{
$this->load->model("MVCModello");
$apostoliVariabile
= $this->MVCModello->get_lista_apostoli();
$data["apostoli"] =
$apostoliVariabile;
$this->load->view('MVCVista',$data);
}
}
MVCModello.php :
<?php
class MVCModello extends CI_Model{
function get_lista_apostoli(){
$list
= array('Luca', 'Giovanni', 'Matteo', 'Paolo', 'Antonio','Marco','Giuseppe');
return $list;
}
}?>
MCVVista.php :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"
/>
<title>Apostolorum</title>
<style type="text/css">
body {
background-color: #fff;
margin: 40px;
font-family: Lucida Grande, Verdana, Sans-serif;
font-size: 14px;
color: #4F5155;
}
a {
color: #003399;
background-color: transparent;
font-weight: normal;
}
h1 {
color: #444;
background-color: transparent;
border-bottom: 1px solid #D0D0D0;
font-size: 16px;
font-weight: bold;
margin: 24px 0 2px 0;
padding: 5px 0 6px 0;
}
code {
font-family: Monaco, Verdana,
Sans-serif;
font-size: 12px;
background-color: #f9f9f9;
border: 1px solid #D0D0D0;
color: #002166;
display: block;
margin: 14px 0 14px 0;
padding: 12px 10px 12px 10px;
}
</style>
</head>
<body>
<h1>Et dixerunt apostoli ... </h1>
<?php
echo $apostoli[0], '<br>';
echo $apostoli[1], '<br>';
echo $apostoli[2], '<br>';
?>
<?php
echo 'multis aliis ... ';
?>
</body>
</html>
Il risultato sarà visibile al link : http://localhost:8080/CI4/index.php/MVCControllo
Cerchiamo di capire cosa abbiamo scritto e come è stato implementato il pattern MVC.
La classe MVCControllo gestisce il flusso logico dell'applicazione. In questo semplice esempio la pagina di partenza è proprio MVCControllo. Appena entrati si invoca il metodo di partenza (nel nostro caso è l'unico presente) , index(). Dentro index :
- viene caricato il modello
- viene riempita la variabile php $apostoliVariabile che prende i dati dal modello
- i dati vengono caricati in una struttura ($data["apostoli"]) da passare alla vista
- si carica la vista
La classe MVCModello serve a produrre i dati. In questo caso ha un solo metodo che restituisce una lista di elementi cablati al suo interno. Se volessimo ad esempio recuperare i dati da un database o da altre sorgenti dobbiamo intervenire qui.
Infine la vista produce la rappresentazione dei dati. I dati vengono recuperati dalla struttura indicata nel controllo la presentazione è molto semplice :$apostoli[0] .
Se vogliamo cambiare la grafica della pagina e la presentazione dobbiamo intervenire qui.
vai all' indice generale


Nessun commento:
Posta un commento