/** * Método responsável por criar a rota de acordo com a URL requisitada pelo usuário. * @todo Adicionar chamada ao método que trata o erro 404. * @throws \Exception */ public function run() { if (isset($this->_module)) { $controllerPath = "app\\controllers\\" . $this->_module . "\\" . $this->_controller; } else { $this->_controller = empty($this->_controller) ? "Init" : $this->_controller; $controllerPath = "app\\controllers\\" . $this->_controller; } if (!class_exists($controllerPath)) { $forge = new Forge(); $forge->forge404(); } else { $controller = new $controllerPath(); if (!method_exists($controller, $this->_action)) { $forge = new Forge(); $forge->forge404(); } else { $action = $this->_action; $controller->{$action}(); } } }