mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-07 23:22:48 +08:00
Think\Route类的map方法支持批量添加映射规则 import方法添加第二个参数指定路由规则的请求类型,默认为get
This commit is contained in:
@@ -20,12 +20,16 @@ class Route {
|
|||||||
'all' => [],
|
'all' => [],
|
||||||
];
|
];
|
||||||
|
|
||||||
// 路由规则映射
|
// 映射规则
|
||||||
static private $map = [];
|
static private $map = [];
|
||||||
|
|
||||||
// 添加映射规则
|
// 添加URL映射规则
|
||||||
static public function map($url,$route){
|
static public function map($map,$route=''){
|
||||||
self::$map[$url] = $route;
|
if(is_array($map)) {
|
||||||
|
self::$map = array_merge(self::$map,$map);
|
||||||
|
}else{
|
||||||
|
self::$map[$map] = $route;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加某个路由规则
|
// 添加某个路由规则
|
||||||
@@ -40,10 +44,8 @@ class Route {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 导入路由规则
|
// 导入路由规则
|
||||||
static public function import($rules){
|
static public function import($rules,$type='get'){
|
||||||
foreach ($rules as $type=>$rule){
|
self::$rules[$type] = array_merge(self::$rules[$type],$rules);
|
||||||
self::$rules[$type] = array_merge(self::$rules[$type],$rule);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加一条任意请求的路由规则
|
// 添加一条任意请求的路由规则
|
||||||
@@ -176,14 +178,14 @@ class Route {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 解析规范的路由地址
|
// 解析规范的路由地址
|
||||||
// 地址格式 [模块/控制器/操作?]参数1=值1&参数2=值2...
|
// 地址格式 [控制器/操作?]参数1=值1&参数2=值2...
|
||||||
static private function parseRoute($url) {
|
static private function parseRoute($url) {
|
||||||
$var = [];
|
$var = [];
|
||||||
if(false !== strpos($url,'?')) { // [模块/控制器/操作?]参数1=值1&参数2=值2...
|
if(false !== strpos($url,'?')) { // [控制器/操作?]参数1=值1&参数2=值2...
|
||||||
$info = parse_url($url);
|
$info = parse_url($url);
|
||||||
$path = explode('/',$info['path']);
|
$path = explode('/',$info['path']);
|
||||||
parse_str($info['query'],$var);
|
parse_str($info['query'],$var);
|
||||||
}elseif(strpos($url,'/')){ // [模块/控制器/操作]
|
}elseif(strpos($url,'/')){ // [控制器/操作]
|
||||||
$path = explode('/',$url);
|
$path = explode('/',$url);
|
||||||
}else{ // 参数1=值1&参数2=值2...
|
}else{ // 参数1=值1&参数2=值2...
|
||||||
parse_str($url,$var);
|
parse_str($url,$var);
|
||||||
@@ -229,8 +231,8 @@ class Route {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 解析规则路由
|
// 解析规则路由
|
||||||
// '路由规则'=>'[模块/控制器/操作]?额外参数1=值1&额外参数2=值2...'
|
// '路由规则'=>'[控制器/操作]?额外参数1=值1&额外参数2=值2...'
|
||||||
// '路由规则'=>array('[模块/控制器/操作]','额外参数1=值1&额外参数2=值2...')
|
// '路由规则'=>array('[控制器/操作]','额外参数1=值1&额外参数2=值2...')
|
||||||
// '路由规则'=>'外部地址'
|
// '路由规则'=>'外部地址'
|
||||||
// '路由规则'=>array('外部地址','重定向代码')
|
// '路由规则'=>array('外部地址','重定向代码')
|
||||||
// 路由规则中 :开头 表示动态变量
|
// 路由规则中 :开头 表示动态变量
|
||||||
@@ -291,8 +293,8 @@ class Route {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 解析正则路由
|
// 解析正则路由
|
||||||
// '路由正则'=>'[模块/控制器/操作]?参数1=值1&参数2=值2...'
|
// '路由正则'=>'[控制器/操作]?参数1=值1&参数2=值2...'
|
||||||
// '路由正则'=>array('[模块/控制器/操作]?参数1=值1&参数2=值2...','额外参数1=值1&额外参数2=值2...')
|
// '路由正则'=>array('[控制器/操作]?参数1=值1&参数2=值2...','额外参数1=值1&额外参数2=值2...')
|
||||||
// '路由正则'=>'外部地址'
|
// '路由正则'=>'外部地址'
|
||||||
// '路由正则'=>array('外部地址','重定向代码')
|
// '路由正则'=>array('外部地址','重定向代码')
|
||||||
// 参数值和外部地址中可以用动态变量 采用 :1 :2 的方式
|
// 参数值和外部地址中可以用动态变量 采用 :1 :2 的方式
|
||||||
|
|||||||
Reference in New Issue
Block a user