#### Route
~~~
/**
* 注冊變量規則
* @access public
* @param string|array $name 變量名
* @param string $rule 變量規則
* @return void
*/
Route::pattern($name = null, $rule = '');
/**
* 注冊子域名部署規則
* @access public
* @param string|array $domain 子域名
* @param mixed $rule 路由規則
* @param array $option 路由參數
* @param array $pattern 變量規則
* @return void
*/
Route::domain($domain, $rule = '', $option = [], $pattern = []);
self::setDomain($domain);
/**
* 設置路由綁定
* @access public
* @param mixed $bind 綁定信息
* @param string $type 綁定類型 默認為module 支持 namespace class controller
* @return mixed
*/
Route::bind($bind, $type = 'module');
/**
* 設置或者獲取路由標識
* @access public
* @param string|array $name 路由命名標識 數組表示批量設置
* @param array $value 路由地址及變量信息
* @return array
*/
Route:;name($name = '', $value = null);
/**
* 讀取路由綁定
* @access public
* @param string $type 綁定類型
* @return mixed
*/
Route::getBind($type);
/**
* 導入配置文件的路由規則
* @access public
* @param array $rule 路由規則
* @param string $type 請求類型
* @return void
*/
Route::import(array $rule, $type = '*');
// 批量注冊路由
self::registerRules($rules, $type = '*');
/**
* 注冊路由規則
* @access public
* @param string $rule 路由規則
* @param string $route 路由地址
* @param string $type 請求類型
* @param array $option 路由參數
* @param array $pattern 變量規則
* @return void
*/
self::rule($rule, $route = '', $type = '*', $option = [], $pattern = []);
/**
* 設置路由規則
* @access public
* @param string $rule 路由規則
* @param string $route 路由地址
* @param string $type 請求類型
* @param array $option 路由參數
* @param array $pattern 變量規則
* @param string $group 所屬分組
* @return void
*/
self::setRule($rule, $route, $type = '*', $option = [], $pattern = [], $group = '');
/**
* 設置當前執行的參數信息
* @access public
* @param array $options 參數信息
* @return mixed
*/
self::setOption($options = []);
/**
* 獲取當前執行的所有參數信息
* @access public
* @return array
*/
Route::getOption();
/**
* 獲取當前的分組信息
* @access public
* @param string $type 分組信息名稱 name option pattern
* @return mixed
*/
Route::getGroup($type);
/**
* 設置當前的路由分組
* @access public
* @param string $name 分組名稱
* @param array $option 分組路由參數
* @param array $pattern 分組變量規則
* @return void
*/
Route::setGroup($name, $option = [], $pattern = []);
/**
* 注冊路由分組
* @access public
* @param string|array $name 分組名稱或者參數
* @param array|\Closure $routes 路由地址
* @param array $option 路由參數
* @param array $pattern 變量規則
* @return void
*/
Route::group($name, $routes, $option = [], $pattern = []);
/**
* 注冊路由
* @access public
* @param string $rule 路由規則
* @param string $route 路由地址
* @param array $option 路由參數
* @param array $pattern 變量規則
* @return void
*/
Route::any($rule, $route = '', $option = [], $pattern = []);
/**
* 注冊GET路由
* @access public
* @param string $rule 路由規則
* @param string $route 路由地址
* @param array $option 路由參數
* @param array $pattern 變量規則
* @return void
*/
Route::get($rule, $route = '', $option = [], $pattern = []);
/**
* 注冊POST路由
* @access public
* @param string $rule 路由規則
* @param string $route 路由地址
* @param array $option 路由參數
* @param array $pattern 變量規則
* @return void
*/
Route::post($rule, $route = '', $option = [], $pattern = []);
/**
* 注冊PUT路由
* @access public
* @param string $rule 路由規則
* @param string $route 路由地址
* @param array $option 路由參數
* @param array $pattern 變量規則
* @return void
*/
Route::put($rule, $route = '', $option = [], $pattern = []);
/**
* 注冊DELETE路由
* @access public
* @param string $rule 路由規則
* @param string $route 路由地址
* @param array $option 路由參數
* @param array $pattern 變量規則
* @return void
*/
Route::delete($rule, $route = '', $option = [], $pattern = []);
/**
* 注冊PATCH路由
* @access public
* @param string $rule 路由規則
* @param string $route 路由地址
* @param array $option 路由參數
* @param array $pattern 變量規則
* @return void
*/
Route::patch($rule, $route = '', $option = [], $pattern = []);
/**
* 注冊資源路由
* @access public
* @param string $rule 路由規則
* @param string $route 路由地址
* @param array $option 路由參數
* @param array $pattern 變量規則
* @return void
*/
Route::resource($rule, $route = '', $option = [], $pattern = []);
/**
* 注冊控制器路由 操作方法對應不同的請求后綴
* @access public
* @param string $rule 路由規則
* @param string $route 路由地址
* @param array $option 路由參數
* @param array $pattern 變量規則
* @return void
*/
Route::controller($rule, $route = '', $option = [], $pattern = []);
/**
* 注冊別名路由
* @access public
* @param string|array $rule 路由別名
* @param string $route 路由地址
* @param array $option 路由參數
* @return void
*/
Route::alias($rule = null, $route = '', $option = []);
/**
* 設置不同請求類型下面的方法前綴
* @access public
* @param string $method 請求類型
* @param string $prefix 類型前綴
* @return void
*/
Route::setMethodPrefix($method, $prefix = '');
/**
* rest方法定義和修改
* @access public
* @param string $name 方法名稱
* @param array|bool $resource 資源
* @return void
*/
Route::rest($name, $resource = []);
/**
* 注冊未匹配路由規則后的處理
* @access public
* @param string $route 路由地址
* @param string $method 請求類型
* @param array $option 路由參數
* @return void
*/
Route::miss($route, $method = '*', $option = []);
/**
* 注冊一個自動解析的URL路由
* @access public
* @param string $route 路由地址
* @return void
*/
Route::function auto($route);
/**
* 獲取或者批量設置路由定義
* @access public
* @param mixed $rules 請求類型或者路由定義數組
* @return array
*/
Route::rules($rules = '');
/**
* 檢測子域名部署
* @access public
* @param Request $request Request請求對象
* @param array $currentRules 當前路由規則
* @param string $method 請求類型
* @return void
*/
Route::checkDomain($request, &$currentRules, $method = 'get');
/**
* 檢測URL路由
* @access public
* @param Request $request Request請求對象
* @param string $url URL地址
* @param string $depr URL分隔符
* @param bool $checkDomain 是否檢測域名規則
* @return false|array
*/
Route::check($request, $url, $depr = '/', $checkDomain = false);
self::getRouteExpress($key);
/**
* 檢測路由規則
* @access private
* @param Request $request
* @param array $rules 路由規則
* @param string $url URL地址
* @param string $depr URL分割符
* @param string $group 路由分組名
* @param array $options 路由參數(分組)
* @return mixed
*/
self::checkRoute($request, $rules, $url, $depr = '/', $group = '', $options = []);
/**
* 檢測路由別名
* @access private
* @param Request $request
* @param string $url URL地址
* @param string $depr URL分隔符
* @return mixed
*/
self::checkRouteAlias($request, $url, $depr);
/**
* 檢測URL綁定
* @access private
* @param string $url URL地址
* @param array $rules 路由規則
* @param string $depr URL分隔符
* @return mixed
*/
self::checkUrlBind(&$url, &$rules, $depr = '/');
/**
* 綁定到類
* @access public
* @param string $url URL地址
* @param string $class 類名(帶命名空間)
* @param string $depr URL分隔符
* @return array
*/
Route::bindToClass($url, $class, $depr = '/');
/**
* 綁定到命名空間
* @access public
* @param string $url URL地址
* @param string $namespace 命名空間
* @param string $depr URL分隔符
* @return array
*/
Route::bindToNamespace($url, $namespace, $depr = '/');
/**
* 綁定到控制器類
* @access public
* @param string $url URL地址
* @param string $controller 控制器名 (支持帶模塊名 index/user )
* @param string $depr URL分隔符
* @return array
*/
Route::bindToController($url, $controller, $depr = '/');
/**
* 綁定到模塊/控制器
* @access public
* @param string $url URL地址
* @param string $controller 控制器類名(帶命名空間)
* @param string $depr URL分隔符
* @return array
*/
Route::bindToModule($url, $controller, $depr = '/');
/**
* 路由參數有效性檢查
* @access private
* @param array $option 路由參數
* @param Request $request Request對象
* @return bool
*/
self::checkOption($option, $request);
/**
* 檢測路由規則
* @access private
* @param string $rule 路由規則
* @param string $route 路由地址
* @param string $url URL地址
* @param array $pattern 變量規則
* @param array $option 路由參數
* @param string $depr URL分隔符(全局)
* @return array|false
*/
self::checkRule($rule, $route, $url, $pattern, $option, $depr);
/**
* 解析模塊的URL地址 [模塊/控制器/操作?]參數1=值1&參數2=值2...
* @access public
* @param string $url URL地址
* @param string $depr URL分隔符
* @param bool $autoSearch 是否自動深度搜索控制器
* @return array
*/
Route::parseUrl($url, $depr = '/', $autoSearch = false);
/**
* 解析URL的pathinfo參數和變量
* @access private
* @param string $url URL地址
* @return array
*/
self::parseUrlPath($url);
/**
* 檢測URL和規則路由是否匹配
* @access private
* @param string $url URL地址
* @param string $rule 路由規則
* @param array $pattern 變量規則
* @return array|false
*/
self::match($url, $rule, $pattern);
/**
* 解析規則路由
* @access private
* @param string $rule 路由規則
* @param string $route 路由地址
* @param string $pathinfo URL地址
* @param array $option 路由參數
* @param array $matches 匹配的變量
* @return array
*/
self::parseRule($rule, $route, $pathinfo, $option = [], $matches = []);
/**
* 解析URL地址為 模塊/控制器/操作
* @access private
* @param string $url URL地址
* @return array
*/
self::parseModule($url);
/**
* 解析URL地址中的參數Request對象
* @access private
* @param string $rule 路由規則
* @param array $var 變量
* @return void
*/
self::parseUrlParams($url, &$var = []);
// 分析路由規則中的變量
self::parseVar($rule);
~~~