Metóda renderView pre vlastný MVC framework
Metóda renderView bude získavať súbor
pohľadu a dosadzovať do neho hodnoty
premenných. To sa robí šikovným spôsobom.
Ako viete, premenné, ktoré sa používajú
v súbore s pohľadom, sú obsiahnuté vo vlastnosti
data objektu triedy Page.
Tieto premenné predstavujú asociatívne
pole. Potrebujeme toto pole premeniť
na skutočné premenné a potom pripojiť
súbor s pohľadom pomocou include.
V takom prípade špecifikované dostupné v tomto
súbore premenné získajú svoju hodnotu a
na výstupe získame jednoducho HTML kód už
s dosadenými hodnotami premenných.
Na to, aby sme premenili pole na premenné,
použijeme špeciálnu funkciu 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); // pole na premenné
include $viewPath; // pripájame súbor s pohľadom
return ob_get_clean();
}
}
?>