Example #1
0
 public function run()
 {
     error_reporting(Config::get('app.debug') ? E_ALL : 0);
     //Set Date Timezone
     date_default_timezone_set(Config::get('app.timezone'));
     //Set Cache Ctatus
     ini_set('opcache.revalidate_freq', Config::get('app.cache') ? '0' : '1');
     try {
         static::stripTraillingSlash();
         $this->session->start();
         Router::init();
         $routerParams = Router::getParams();
         $this->handleMiddlewares($routerParams);
         $controllerParams = [];
         foreach ($routerParams as $paramName => $paramValue) {
             if (substr($paramName, 0, 1) != '_') {
                 $controllerParams[$paramName] = $paramValue;
             }
         }
         if (isset($routerParams['_params']) && is_array($routerParams['_params'])) {
             foreach ($routerParams['_params'] as $paramName => $paramValue) {
                 $controllerParams[$paramName] = $paramValue;
             }
         }
         $controllerFullName = '\\App\\Controllers\\' . $routerParams['_controller'];
         try {
             return $this->di->call($controllerFullName . '::' . $routerParams['_method'], $controllerParams);
         } catch (Exception $e) {
             new ExceptionHandler($e);
         }
     } catch (Exception $e) {
         new ExceptionHandler($e);
     }
     return true;
 }