/** * @param Request $request * @param Response $response * @return bool */ public function run(Request $request, Response $response) { $controller = $request->getController(); $action = $request->getAction(); $controllerContent = $controller->runAction($action, [$request, $response]); $request->data['controllerContent'] = $controllerContent; return true; }
/** * @param $folder * @return string */ private function getAddressView($folder) { //fora das areas if (Request::getArea() == null) { return PATH_VIEWS . Request::getController() . DS . ($folder != null ? $folder . DS : "") . Request::getAction() . ".php"; } //dentro das areas return PATH_AREA . Request::getArea() . DS . 'Views' . DS . Request::getController() . DS . ($folder != null ? $folder . DS : "") . Request::getAction() . ".php"; }
/** * 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); }