批量注册路由
路径:application/route.php
1、方法注册
格式
Route::rule([
'路由规则1'=>'路由地址和参数',
'路由规则2'=>['路由地址和参数','匹配参数(数组)','变量规则(数组)']
...
],'','请求类型','匹配参数(数组)','变量规则');
简单实例:
use \think\Route;
//设置路由方式1
Route::rule([
//index模块(前台模块)下index控制器下 的func1方法
'func1'=>'index/index/func1',
//index模块(前台模块)下 index控制器下 带id参数的方法func2
'func2/:id'=>'index/index/func2',
'func3/:id'=>[
'index/index/func3', //func3
['ext'=>'shtml'], //限定func3方法只会匹配shtml后缀的访问请求
['id'=>'\d{4}'] //限定参数id的规则为 \d{4}
]
],'','get',['ext'=>'html'],['id'=>'\d+']);
注意: 如果Route::rule()方法的外面和规则里面同时传入了匹配参数和变量规则,路由规则定义里面的最终生效,但请求类 型参数以最外层决定!
同理,我们也可以用Route::get()、Route::post()方法注册路由,例如:
// 批量注册GET路由
Route::get([
'func1/:id' => 'index/index/func1',
'func2/:id' => ['index/index/func2',[],['id'=>'\d+']]
]);
// 效果等同于
Route::rule([
'func1/:id' => 'index/index/func1',
'func2/:id' => ['index/index/func2',[],['id'=>'\d+']]
],'','GET');
2、配置文件注册路由(一般情况下,推荐使用)
路径:application/route.php
以return 的方式,返回配置文件的路由注册规则:
//设置路由方式2
return [
//index模块(前台模块)下index控制器下 的func1方法
'func1'=>'index/index/func1',
//index模块(前台模块)下 index控制器下 带id参数的方法func2
'func2/:id'=>'index/index/func2',
'func3/:id'=>[
'index/index/func3', //func3
['ext'=>'shtml'], //限定func3方法只会匹配shtml后缀的访问请求
['id'=>'\d{4}'] //限定参数id的规则为 \d{4}
]
];
设置路由的请求方式:https://blog.csdn.net/beyond_1990/article/details/99459472
单个注册路由:https://blog.csdn.net/beyond_1990/article/details/99459405