示例#1
0
 public static function run($app, $controller = null, $action = null)
 {
     self::$app = $app;
     $autoload = AutoLoad::getInstance();
     //加载配置文件
     $config = DOCUMENT_ROOT . DS . 'app' . DS . $app . DS . 'config.php';
     if (!is_file($config)) {
         throw new \Exception($app . '应用缺少config文件', 0);
     } else {
         require $config;
         self::$config = new \Config();
         self::$config->loader($autoload);
     }
     //分发路由
     $route = new Route($app);
     $route->execute($controller, $action);
 }
示例#2
0
 /**
  * Метод запуска приложения
  * @throws Exception
  */
 public static function run()
 {
     try {
         // Загрузка и объединение конфигов
         if (!file_exists(PSR4_ROOT . '/config.local.php')) {
             throw new Exception('You have to create file config.local.php with your settings');
         }
         self::$config = (array) (require PSR4_ROOT . '/config.local.php') + (array) (require PSR4_ROOT . '/config.php');
         // Маршрутизация запроса
         $router = Router::getInstance();
         $route = $router->route($_SERVER['REQUEST_URI']);
         // Вызов обработчика
         self::_runAction($route['controller'], $route['action'], $route['params']);
     } catch (HttpException $e) {
         if ($e->getCode() === 404) {
             self::_runAction('error', '404', []);
         } else {
             self::_runAction('error', '500', ['message' => $e->getMessage()]);
         }
     } catch (\Exception $e) {
         self::_runAction('error', '500', ['message' => $e->getMessage()]);
     }
 }