/** * Método responsável por obter o nome do controlador e do método e executá-los. * @access public * @return void */ public static function run() { ob_start(); //pega o controller na URL Request::run(); Session::start(); $controller = Request::getCompleteController(); //verifica se o controlador existe if (file_exists(PATH_CONTROLLER . $controller . '.php')) { //instancia o controlador $controlador = NAMESPACE_CONTROLLER . "\\" . $controller; $controlador = new $controlador(); //pega o metodo da URL $action = Request::getAction(); //Transforma o resto da URL em Array $args = (array) Request::getArgs(); //verifica se o metodo existe no controlador $post = self::VerificaMetodo($controlador, $action); } else { Request::InverseArea(); $area = Request::getArea(); $controller = Request::getCompleteController(); if (file_exists(PATH_AREA . $area . DS . 'Controllers' . DS . $controller . '.php')) { //instancia o controlador $controlador = NAMESPACE_AREAS . "\\" . $area . "\\Controllers\\" . $controller; $controlador = new $controlador(); //pega o metodo da URL $action = Request::getAction(); //Transforma o resto da URL em Array $args = (array) Request::getArgs(); $post = self::VerificaMetodo($controlador, $action); } else { if (file_exists(PATH_CONTROLLER . CONTROLLER_404 . '.php')) { Request::setController(CONTROLLER_404); Request::setAction(ACTION_404); Request::setArea(null); $controlador = NAMESPACE_CONTROLLER . '\\' . CONTROLLER_404; $controlador = new $controlador(); $action = ACTION_404; //Transforma o resto da URL em Array $args = (array) Request::getArgs(); $post = self::VerificaMetodo($controlador, $action); } } } self::getPost($args); // try { call_user_func_array(array($controlador, $action . $post), $args); // }catch (\Exception $e){ // echo $e->getMessage(); // } $content = ob_get_clean(); Layout::render($content); }
public static function Export($content, $arquivo = "file") { // Determina que o arquivo é uma planilha do Excel header("Content-type: application/vnd.ms-excel"); // Força o download do arquivo header("Content-type: application/force-download"); // Seta o nome do arquivo header("Content-Disposition: attachment; filename=" . $arquivo . ".xls"); header("Pragma: no-cache"); //seta o layout como nulo Layout::setLayout(null); // Imprime o conteúdo da nossa tabela no arquivo que será gerado echo $content; }
<?php \Mvc\Layout::setLayout("404");
<!doctype html> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <title><?php echo \Mvc\Layout::getTitle(); ?> </title> </head> <body> <h1>Texto fixo definido no Layout Basic (public/layouts/basic.php)</h1> <?php echo \Mvc\Layout::getContent(); ?> </body> </html>
public function setOuterTags($tags) { Layout::setOuterTags($tags); }