ThinkPHP5.0之路由
- 文件位置
application/route.php
-
路由模式
1、普通模式:‘url_route_on’ => false,关闭路由,完全使用默认的PATH_INFO方式URL, 例如:http://www.xxx.com/index.php/module/controller/action/param/value/…2、混合模式(默认方式):‘url_route_on’ => true,
‘url_route_must’=> false,开启路由,并使用路由定义+默认PATH_INFO方式的混合:3、强制模式:‘url_route_on’ => true,
‘url_route_must’ => true,开启路由,并设置必须定义路由才能访问,例如:Route::get(’/’,function(){
return ‘Hello,world’;
}); -
路由写法
普通路由
Route::rule('路由表达式','路由地址','请求类型','路由参数(数组)','变量规则(数组)');
例如:Route::rule('/tests/:id','admin/Index/index1','get',[],['id'=>'\d+'])
get方式路由
Route::get('路由表达式','路由地址');
例如:Route::get('/tests','admin/Index/test');
post方式路由
Route::post('路由表达式','路由地址');
例如:Route::post('/tests','admin/Index/test');
快捷路由
Route::controller('/user','index/User');
注意:在控制器需在方法名前声明请求方式
如:getIndex()、postSave()
资源路由
Route::resource('blog','index/blog');
资源路由规则如下
- 带参数路由
1、传递单个参数
Route::get('/tests/:id','admin/Index/test');
在控制器的方法中以形参方式接受
2、传递多个参数
Route::get('/test-<name>-<id>','admin/Index/test');
在控制器的方法中以形参方式接受
- 路由别名
Route::alias('users','admin/Index');
使用users可以访问admin模块的Index控制器的所有操作
- 路由组设置
Route::group(['method'=>'get','ext'=>'html'],function(){
Route::get('/blog/:id','admin/Index/index');
Route::get('/users','admin/User/index');
});