Método renderView para nuestro framework MVC
El método renderView obtendrá el archivo
de vista y sustituirá en él los valores
de las variables. Esto se hace de una manera astuta.
Como sabes, las variables que se utilizan
en el archivo de vista están contenidas en la propiedad
data del objeto de la clase Page.
Estas variables representan un array
asociativo. Necesitamos convertir este array
en variables reales, y luego incluir
el archivo de vista mediante include.
En este caso, las variables disponibles en este
archivo obtendrán su valor y
a la salida obtendremos simplemente código HTML
con los valores de las variables sustituidos.
Para convertir el array en variables,
usamos la función especial 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 a variables
include $viewPath; // incluimos el archivo de vista
return ob_get_clean();
}
}
?>