Método renderView para seu próprio framework MVC
O método renderView receberá o arquivo
de visualização e substituirá os valores
das variáveis nele. Isso é feito de uma forma inteligente.
Como você sabe, as variáveis que são usadas
no arquivo de visualização estão contidas na propriedade
data do objeto da classe Page.
Essas variáveis representam um array
associativo. Precisamos transformar esse array
em variáveis reais e, em seguida, incluir
o arquivo de visualização via include.
Neste caso, as variáveis disponíveis especificadas
nesse arquivo receberão seus valores e
na saída obteremos simplesmente o código HTML já
com os valores das variáveis substituídos.
Para transformar o array em variáveis,
usamos a função 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 em variáveis
include $viewPath; // incluímos o arquivo de visualização
return ob_get_clean();
}
}
?>