Metod renderView za svoj MVC frejmvork
Metod renderView će dobiti fajl
predstavljanja i u njega ubacivati vrednosti
promenljivih. Ovo se radi lukavim načinom.
Kao što znate, promenljive koje se koriste
u fajlu sa predstavljanjem, sadržane su u svojstvu
data objekta klase Page.
Ove promenljive predstavljaju asocijativni
niz. Treba da pretvorimo ovaj niz
u prave promenljive, a zatim da povežemo
fajl sa predstavljanjem preko include.
U ovom slučaju navedene dostupne u ovom
fajlu promenljive će dobiti svoju vrednost i
na izlazu ćemo dobiti jednostavan HTML kod već
sa ubačenim vrednostima promenljivih.
Za to, da bismo transformisali niz u promenljive,
koristimo specijalnu funkciju 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); // niz u promenljive
include $viewPath; // povezujemo fajl sa predstavljanjem
return ob_get_clean();
}
}
?>