renderView-metoden for ditt eget MVC-rammeverk
Metoden renderView vil hente en visningsfil
og sette inn verdiene til variablene.
Dette gjøres på en smart måte.
Som du vet, er variablene som brukes
i visningsfilen, inneholdt i egenskapen
data til objektet i klassen Page.
Disse variablene er en assosiativ
array. Vi må gjøre om denne arrayen
til ekte variabler, og deretter inkludere
visningsfilen via include.
I dette tilfellet vil de tilgjengelige variablene i denne
filen få sine verdier og
vi vil få HTML-kode på utgangen
med de innsatte variabelverdiene.
For å konvertere arrayen til variabler,
bruker vi den spesielle funksjonen 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 visningsfilen
return ob_get_clean();
}
}
?>