Lo único que hace es reconocer si existe el archivo de la vista:
Código PHP:
class ViewException extends Exception {}
class View {
private $data;
private $template;
private $layout;
public function __construct() {}
public function setData( $data ) {
if( !is_array( $data ) ) {
throw new ViewException('$data no ha sido enviado ');
}
$this->data = $data;
}
public function setLayout( $layout ) {
if( !file_exists( $layout ) ) {
throw new ViewException('$layout no existe');
}
$this->layout = $layout;
}
public function setTemplate($template) {
if( !file_exists( $template ) ) {
throw new ViewException('$template no existe');
}
$this->template = $template;
}
public function render() {
$content = $this->renderTemplate();
include( $this->layout );
}
private function renderTemplate() {
ob_start();
@extract( $this->data, EXTR_OVERWRITE );
include( $this->template );
$content = ob_get_clean();
return $content;
}
}
Si modifico la ruta del $view->setLayout( 'vistas/mainLayout.tpl.php' ); me sale el error "$layout no existe", osea de alguna manera si reconoce el archivo, pero parece que no encuentra la ruta