Metoda renderView pro vlastní MVC framework
Metoda renderView bude získávat soubor
pohledu a dosazovat do něj hodnoty
proměnných. To se dělá chytrým způsobem.
Jak víte, proměnné, které se používají
v souboru s pohledem, jsou obsaženy ve vlastnosti
data objektu třídy Page.
Tyto proměnné představují asociativní
pole. Potřebujeme toto pole přeměnit
na skutečné proměnné a poté připojit
soubor s pohledem pomocí include.
V tomto případě uvedené dostupné v tomto
souboru proměnné získají svou hodnotu a
na výstupu dostaneme jednoduše HTML kód již
s dosazenými hodnotami proměnných.
Pro převod pole na proměnné
použijeme speciální funkci 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 proměnné
include $viewPath; // připojíme soubor s pohledem
return ob_get_clean();
}
}
?>