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(); }
public static function run() { $class = Config::router('class'); Loader::driver('routers', $class); self::$router = new $class(); self::$router->controller(); }
/** * 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)); }