Méthode renderView pour son propre framework MVC
La méthode renderView va récupérer le fichier
de vue et y substituer les valeurs des
variables. Cela se fait de manière astucieuse.
Comme vous le savez, les variables utilisées
dans le fichier de vue sont contenues dans la propriété
data de l'objet de la classe Page.
Ces variables représentent un tableau
associatif. Nous devons transformer ce tableau
en de vraies variables, puis inclure
le fichier de vue via include.
Dans ce cas, les variables disponibles dans ce
fichier recevront leur valeur et
en sortie nous obtiendrons simplement le code HTML
avec les valeurs des variables substituées.
Pour transformer le tableau en variables,
utilisons la fonction spéciale 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); // transforme le tableau en variables
include $viewPath; // on inclut le fichier de vue
return ob_get_clean();
}
}
?>