renderView-metoden til dit eget MVC-framework
Metoden renderView vil hente filen
til visningen og indsætte værdierne
fra variablerne. Dette gøres på en smart måde.
Som du ved, er variablerne, der bruges
i filen med visningen, indeholdt i egenskaben
data i objektet af klassen Page.
Disse variabler er en associativ
array. Vi skal omdanne denne array
til rigtige variabler og derefter inkludere
filen med visningen via include.
I dette tilfælde vil de tilgængelige variabler i denne
fil få deres værdier og
ved output får vi simpelthen HTML-kode allerede
med de indsatte variabelværdier.
For at omdanne arrayet til variabler,
bruger vi den specielle funktion 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 til variabler
include $viewPath; // inkluderer filen med visningen
return ob_get_clean();
}
}
?>