Example #1
0
 public function fire()
 {
     if (!is_null(Route::$controller) && !is_null(Route::$action)) {
         $controllerFile = Config::controllersPath() . Route::$controller . ".php";
         if (is_file($controllerFile)) {
             require_once $controllerFile;
             if (class_exists("Controllers\\" . Route::$controller)) {
                 $controller = "Controllers\\" . Route::$controller;
                 $controller = new $controller();
                 $action = Route::$action;
                 if (method_exists($controller, $action)) {
                     $this->response($controller->{$action}(Route::$request));
                 } else {
                     throw new ControllerException("Action " . Route::$action . " not defined.");
                 }
             } else {
                 throw new ControllerException("Class " . Route::$controller . " not defined.");
             }
         } else {
             throw new ControllerException("Controller " . Route::$controller . " not exists.");
         }
     }
 }