Example #1
0
 private static function getRouteAlias()
 {
     return array();
     //TODO
     if ($item = Cache::get('think_route_map')) {
         return $item;
     }
     // 获取路由定义
     $array = Route::rules();
     foreach ($array as $type => $rules) {
         foreach ($rules as $rule => $val) {
             if (true === $val || empty($val['rule'])) {
                 continue;
             }
             $route = $val['route'];
             $vars = $val['var'];
             if (is_array($val['rule'])) {
                 foreach ($val['rule'] as $val) {
                     $key = $val['rule'];
                     $route = $val['route'];
                     $var = $val['var'];
                     $param = [];
                     if (is_array($route)) {
                         $route = implode('\\', $route);
                     } elseif ($route instanceof \Closure) {
                         continue;
                     } elseif (strpos($route, '?')) {
                         list($route, $str) = explode('?', $route, 2);
                         parse_str($str, $param);
                     }
                     $var = array_merge($vars, $var);
                     $item[$route][] = [$rule . '/' . $key, $var, $param];
                 }
             } else {
                 $param = [];
                 if (is_array($route)) {
                     $route = implode('\\', $route);
                 } elseif ($route instanceof \Closure) {
                     continue;
                 } elseif (strpos($route, '?')) {
                     list($route, $str) = explode('?', $route, 2);
                     parse_str($str, $param);
                 }
                 $item[$route][] = [$rule, $vars, $param];
             }
         }
     }
     // 检测路由别名
     $alias = Route::rules('alias');
     foreach ($alias as $rule => $route) {
         $route = is_array($route) ? $route[0] : $route;
         $item[$route][] = [$rule, [], []];
     }
     !App::$debug && Cache::set('think_route_map', $item);
     return $item;
 }