Qualche esercizio di pratica
Ora facciamo un piccolo esercizio per prendere confidenza con i file, prima di addentrarci nella composizione dei singoli "blocchi di codice" da utilizzare per la realizzazione del progetto.
Ora impareremo a creare ed a utilizzare template differenti.
Apriamo con il nostro editor il file:
Alla funzione view_page() modifichiamo il nome del file di template index.php sostituendolo con pratica.php.
Cancelliamo ora le voci di array non più utili (benvenuto, generate, logins) ed aggiungiamo una nuova voce 'ciclo'=>self::ciclo(6).
Il codice di seguito servirà a chiarire le idee:
function view_page(){
### stampo la pagina dei contenuti
KuiperBelt::get_template(
'pratica.php',
$GLOBALS["Rgl"],
array(
'hello_world'=>'Ciao Mondo!',
'ciclo'=>self::ciclo(6)',
)
);
}
Ci siamo?... perfetto!
Ora aggiungeremo la nostra funzione ciclo() all'interno della classe IndexView():
class IndexView extends IndexModel {
# funzione ciclo
function ciclo($n){
$hello = array();
for($i=1;$i <= $n; $i++){
$hello[$i] = "Ciao Mondo ".$i;
}
return $hello;
}
# gestione contenuto pagina
function view_page(){
### stampo la pagina dei contenuti
KuiperBelt::get_template(
'ciclo.php',
$GLOBALS["Rgl"],
array(
'hello_world'=>'Ciao Mondo!',
'ciclo'=>self::ciclo(6),
)
);
}
}
Spero che la funzione di esempio risulti semplice :-)
Perfetto, ora prepariamo il template.
Creiamo all'interno della directory Templates il file pratica.php, e compiliamolo come di seguito:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> <?php echo $_['hello_world'] ?></title>
</head>
<body>
<?php foreach ($_['ciclo'] as $K => $V): ?>
<h2>
<?php echo $V ?>
</h2>
<?php endforeach; ?>
</body>
</html>
Salviamo le modifiche ed aggiorniamo il nostro Browser; dovrebbe aparire qualcosa di simile:
Ciao Mondo 1
Ciao Mondo 2
Ciao Mondo 3
Ciao Mondo 4
Ciao Mondo 5
Ciao Mondo 6
Cosa abbiamo fatto?
- Creato una nuova funzione all'interno della View;
- Detto alla View di scrivere su di un nuovo template (ciclo.php);
- Realizzato un semplice ciclo for (funzione ciclo()) e trasmesso alla funzione view_page();
- Inserito all'interno del template un ciclo foreach ed assegnato i valori restituiti all'interno dei relativi tag html;
Semplice Vero?