Metoden renderView för sitt eget MVC-ramverk
Metoden renderView kommer att hämta filen
för vyn och substituera värdena från
variablerna i den. Detta görs på ett smart sätt.
Som ni vet finns variablerna som används
i filen med vyn i egenskapen
data för objektet av klassen Page.
Dessa variabler representerar en associativ
array. Vi behöver omvandla denna array
till riktiga variabler, och sedan inkludera
filen med vyn via include.
I detta fall kommer de tillgängliga variablerna i denna
fil att få sina värden och
vid utdata får vi enkelt HTML-kod redan
med substituerade variabelvärden.
För att omvandla arrayen till variabler,
använder vi den speciella funktionen 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 till variabler
include $viewPath; // inkluderar filen med vyn
return ob_get_clean();
}
}
?>