예제 #1
0
 /**
  * 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}();
         }
     }
 }