ThinkPHP基础-----第五章(路由相关)第三部分
2018-08-23 本文已影响4人
大菜鸟呀
1、变量规则:
单参数:
Route::rule('course/:id','Index/index/course','get','',['id'=>'\d{1,3}'])
多参数:
Route::rule('course/:id/:name','Index/index/course','get','',['id'=>'\d{1,3}','name'=>'\w+ '])
2、路由参数:
Route::rule('course/:id/:name','Index/index/course','get',['method'=>'get','ext'=>'html'],['id'=>'\d{1,3}','name'=>'\w+ '])
'method'=>请求类型;
'ext'=>后缀;
参数 说明
method 请求类型检测,支持多个请求类型
ext URL 后缀检测,支持匹配多个后缀
deny_ext URL禁止后缀检测,支持匹配多个后缀
https 检测是否https请求
domain 域名检测
before_behavior 前置行为(检测)
after_behavior 后置行为(执行)
callback 自定义检测方法
merge_extra_vars 合并额外参数
bind_model 绑定模型(V5.0.1+)
cache 请求缓存(V5.0.1+)
param_depr 路由参数分隔符(V5.0.2+)
ajax Ajax检测(V5.0.2+)
pjax Pjax检测(V5.0.2+)
3、资源路由
1、声明:
Route::resource('blog','Index/Blog')
2、设置以后会自动注册7个路由规则:
标识 请求类型 生成路由规则 对应操作方法(默认)
index GET blog index
create GET blog/create create
save POST blog save
read GET blog/:id read
edit GET blog/:id/edit edit
update PUT blog/:id update
delete DELETE blog/:id delete
-----------------------------
具体指向的控制器由路由地址决定,例如上面的设置,会对应
index模块的blog控制器,
你只需要为Blog控制器创建以上对应的操作方法就可以支持下
面的URL访问
------------
http://serverName/blog/
http://serverName/blog/128
http://serverName/blog/28/edit
5、快捷路由:
// 给User控制器设置快捷路由
Route::controller('user','index/User');
//定义User控制器
namespace app\index\controller;
class User {
public function getInfo()
{
}
public function getPhone()
{
}
}
我们可以通过下面的URL访问:
get http://localhost/user/info
get http://localhost/user/phone
6、URL地址生成:
在控制器中导入: use think\Url;
<?php
namespace app\index\controller;//声明命名空间
use think\Url;
//声明控制器
class Urls{
//index 方法
public function index(){
//系统类:
dump(Url::build('Index/index/index'));
//输出index控制器方法的路由地址
//系统方法:
dump(url('Index/index/index'))
}
}
?>