Methode renderView voor een eigen MVC-framework
De methode renderView zal het viewbestand
ophalen en de waarden van de variabelen
erin substitueren. Dit gebeurt op een slimme manier.
Zoals u weet, bevinden de variabelen die gebruikt worden
in het viewbestand zich in de eigenschap
data van het object van de klasse Page.
Deze variabelen vormen een associatieve
array. We moeten deze array omzetten
in echte variabelen, en vervolgens het
viewbestand inladen via include.
In dat geval krijgen de beschikbare variabelen in dit
bestand hun waarde en
aan de uitgang krijgen we simpelweg HTML-code
met de gesubstitueerde waarden van de variabelen.
Om de array om te zetten in variabelen,
gebruiken we de speciale functie 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 naar variabelen
include $viewPath; // sluit het viewbestand aan
return ob_get_clean();
}
}
?>