Metodo renderVie per il proprio framework MVC
Il metodo renderView otterrà il file
della vista e sostituirà in esso i valori
delle variabili. Questo viene fatto in modo astuto.
Come sapete, le variabili utilizzate
nel file della vista sono contenute nella proprietà
data dell'oggetto della classe Page.
Queste variabili rappresentano un array
associativo. Dobbiamo trasformare questo array
in variabili reali, e poi includere
il file della vista tramite include.
In questo caso le variabili disponibili in questo
file riceveranno il loro valore e
in output otterremo semplicemente il codice HTML già
con i valori delle variabili sostituiti.
Per convertire l'array in variabili,
usiamo la funzione speciale extract:
<?php
private function renderView(Page $page) {
$viewPath = $_SERVER['DOCUMENT_ROOT'] . "/project/views/{$page->view}.php";
if (file_exists($viewPath)) {
ob_start();
$data = $page->data;
extract($data); // array in variabili
include $viewPath; // includiamo il file della vista
return ob_get_clean();
}
}
?>