Metoda renderVie pentru propriul framework MVC
Metoda renderView va primi fișierul
de vizualizare și va înlocui în el valorile
variabilelor. Acest lucru se face într-un mod ingenios.
După cum știți, variabilele care sunt utilizate
în fișierul cu vizualizarea sunt conținute în proprietatea
data a obiectului clasei Page.
Aceste variabile reprezintă un array
asociativ. Trebuie să transformăm acest array
în variabile reale, apoi să includem
fișierul cu vizualizarea prin include.
În acest caz, variabilele disponibile specificate
în acest fișier își vor primi valoarea și
la ieșire vom obține simplu cod HTML
cu valorile variabilelor deja înlocuite.
Pentru a transforma array-ul în variabile,
folosim funcția specială 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 în variabile
include $viewPath; // includem fișierul cu vizualizarea
return ob_get_clean();
}
}
?>