thinkPHP5.0支持自定义路由和thinkPHP3.0之前的自动匹配路由
1.自动匹配路由
'url_route_on'=>false, 该参数设置为关闭自定义路由
默认访问方式是PATH_INFO,eg:http://servername/module/controller/action/paraname/paravalue
2.自定义和匹配混合使用(设置路由就跳转到路由)
'url_route_on'=>true, 开启路由 'url_route_must'=>false, 不强制使用路由
3.使用自定义路由
'url_route_must'=>true
route_config_file 设置路由文件名,默认是route,所以对应项目下的route.php 文件,但是在common.php 设置路由也有效
tp5 route.php 里默认带有如下如下路由规则
自己重新定义时一定要将其注释掉,不然自己的路由定义不会生效
以下的基本路由的使用:
1.普通的路由
Route::get/post('/路由名称','module/controller/action')
2.带参数路由(参数为必带)
Route::get/post('/路由名称/:参数名称','module/controller/action') 方法里直接用参数名称就可以获取到值
3.带参数路由(参数为可选,但是必须带一个默认值)
Route::get/post('/路由名称/:参数名称','module/controller/action') 方法里给参数一个默认值,当不传参数时输出的就是默认值
4.路由别名
Route::alias('别名','module/controller/action'); //使用时可以直接在需要用的地方引用别名就行,如页面跳转 $this->redirect('别名') 取别名的方便之处在于,在方法执行成功或失败或跳转时可以快速定为跳转的方法
5.路由分组(分组多用于对同一类里不同方法,如针对一个功能进行数据库的增删改查等)
Route::group('分组名称',function(){
Route::get('/分组里的方法1','module/controller/action');
Route::get('/分组里的方法2','module/controller/action');
});
调用是直接URL方法http://servername/public/分组名称/分组方法1(分组方法2)
以上只是很基础很基础的应用,关于路由的使用功能还有很多,我没有了解,建议想要深入了解的人可以将laravel里的路由和thinkPHP5.0里的路由作对比去学习。
网友评论