Example #1
0
 public static function start()
 {
     //美化url
     if (!empty($_SERVER['PATH_INFO'])) {
         $rewrite = explode("/", trim($_SERVER['PATH_INFO'], "/"));
         if (count($rewrite) >= 3) {
             self::$module = $rewrite[0];
             self::$class = $rewrite[1];
             self::$function = $rewrite[2];
         }
     }
     isset($_GET['m']) ? self::$module = trim($_GET['m']) : self::$module;
     isset($_GET['c']) ? self::$class = trim($_GET['c']) : self::$class;
     isset($_GET['f']) ? self::$function = trim($_GET['f']) : self::$function;
     //扩展名分析
     if (!empty(self::$function)) {
         if (strrpos(self::$function, '.htmlx') !== false) {
             self::$function = str_replace('.htmlx', '', self::$function);
         }
     }
     //内部php调用
     if (isset($_SERVER['argv'][1])) {
         if ($_SERVER['argv'][1] == 'task') {
             Router::Controller("Task." . $_SERVER['argv'][2])->{$_SERVER}['argv'][3]();
             exit;
         }
     }
     //载入中间件
     Router::getClass("\\AppMain\\middleware\\HttpMiddleware");
     //载入路由
     Router::router();
 }
Example #2
0
 public static function run()
 {
     $class = Config::router('class');
     Loader::driver('routers', $class);
     self::$router = new $class();
     self::$router->controller();
 }
Example #3
0
 /**
  * Ejecuta una url
  *
  * @param string $url
  * @return Controller
  */
 public static function execute($url)
 {
     self::init($url);
     //alias
     $router = self::$router;
     $conf = Config::get('config.application.routes');
     //Si config.ini tiene routes activados, mira si esta routed
     if ($conf) {
         /*Esta activado el router*/
         /* This if for back compatibility*/
         if ($conf === '1') {
             $url = $router::_ifRouted($url);
         } else {
             /*Es otra clase de router*/
             $router = self::$router = $conf;
         }
     }
     // Descompone la url
     self::$_vars = $router::rewrite($url) + self::$_vars;
     // Despacha la ruta actual
     return self::dispatch($router::getController(self::$_vars));
 }