Example #1
0
 public function parseRoute($path)
 {
     $pathParams = array();
     $queryParams = array();
     if (!$path) {
         return;
     }
     $urlQuery = parse_url($path, PHP_URL_QUERY);
     $urlPath = trim(parse_url($path, PHP_URL_PATH), '/');
     $pathArr = explode('/', $urlPath);
     $module = APP . ucfirst($pathArr[0]) . '/Controller';
     if (file_exists($module)) {
         self::$module = ucfirst($pathArr[0]);
         if ($pathArr[1]) {
             self::$control = ucfirst($pathArr[1]);
         }
         if ($pathArr[2]) {
             self::$action = $pathArr[2];
         }
         $pathParams = array_slice($pathArr, 3);
     } else {
         if ($pathArr[0]) {
             self::$control = ucfirst($pathArr[0]);
         }
         if ($pathArr[1]) {
             self::$action = $pathArr[1];
         }
         $pathParams = array_slice($pathArr, 2);
     }
     if ($urlQuery) {
         $queryParams = $this->combineQuery($urlQuery);
     }
     $params = array_merge($pathParams, $queryParams);
     $this->combineParams($params);
 }
Example #2
0
 /**
  * 初始化 暂时只支持默认模式
  * @param $config
  */
 public static function init($config)
 {
     self::$config = $config;
     self::$urlQuery = parse_url($_SERVER['REQUEST_URI']);
     $urlType = $config['url_type'];
     switch ($urlType) {
         case 'default':
             self::defaultToArray();
             break;
         case 'pathinfo':
             self::pathinfoToArray();
             break;
         default:
             self::defaultToArray();
     }
 }