1控制器初始化
2前置操作
3页面跳转
4重定向
5空操作
6空方法
7获取请求类
8变量过滤
#### 1.控制器初始化
1)必须继承think\Controller;
2)例:
public function _initialize(){
echo "我是初始化方法";
}
#### 2.前置操作
1)前置方法,把一些公共的设置提取成方法进行调用
2)前置操作必须继承think\Controller;
3)例:
protected $beforeActionList=[
//新建one,two,three3个方法
'one',
//two方法不让index使用
'two' => ['except' => 'index'],
//three方法只让index方法使用
'three' => ['only' => 'index'],
];
public function one(){
echo "one方法";
}
public function two(){
echo "two方法";
}
public function three(){
echo "three方法";
}
#### 3.页面跳转
1)继承think\Controller;
2)$this->success(提示信息,跳转地址,用户自定义数据,跳转时间,header信息);
例:$this->success('登录成功!',url('index/index'));
$this->error('登录失败!');
3)修改提示页面(模板)
thinkphp\tpl\dispatch_jump.php目录
![](https://box.kancloud.cn/52f3d4f92ed9baa315da5a47d71511a1_1229x632.png)
详细视频地址https://ke.qq.com/webcourse/index.html#taid=1556788206081853&vid=s1420qvucec&course_id=235325&term_id=100277509
#### 4.重定向
1)引入think\Controller;
2)redirect('跳转地址','其他参数',code,'隐式参数);
3)例:
$this->redirect('index/index',['id'=>100,'name'=>'abc']);
#### 5.空操作
1)作用:解决一些恶意地址栏输入
2)例:
public function _empty(){
$this->redirect('index/index');
}
#### 6.空控制器
![](https://box.kancloud.cn/b4a6311aa7d64171e6f1fe5ce1a034d8_863x602.png)
## 注意:网站上线的时候前后台都要有空控制器,每个控制器都要有空操作
#### 7.获取请求类
1)方法一:系统函数
$request = request();
2)方法二:
use think\Request;
//因为Request类属于单例模式,所以不能直接使用new
$request = Request::instance();
3)方法三:系统Request类
use think\Request;
public function index(Request $request){
dump($request);
}
![](https://box.kancloud.cn/dc93273b66132c0473b48ef1ee2f4eb4_758x343.png)
#### 8.变量过滤
//防止恶意输入,sql注入
1)全部的数据进行过滤
//单个方法过滤
$request->filter("htmlspecialchars");
//多个方法过滤
$request->filter(["htmlspecialchars","strip_tags"]);
2)针对变量过滤
$request->get('name','','htmlspecialchars');
//先过滤,后加密
$request->get('name','','htmlspecialchars,md5');
![](https://box.kancloud.cn/27805ba11684dfada0631eafc3a474be_825x327.png)
修饰变量的类型
s 字符串
d 整型
f 浮点型
a 数组
b 布尔型
- 空白目录
- 关于页面跳转跟重定向
- thinkphp5return的问题
- thinkphp5权限auth
- thinkphp5关联查询多表查询join
- javascript
- 数据库命令行操作
- php间隔一段时间自动执行
- PHP字符串首尾留N位,中间替换成*号
- tp5获取当前域名
- PHP常用函数
- 注册发送短信验证的接口详解
- php可逆加密解密
- 配置本地虚拟主机
- thinkphp5跨控制器调用
- thinkphp5框架加载流程
- thinkphp5路由详解
- thinkphp5功能集合
- thinkphp5数据库操作
- delete,put类型
- tp5数据库查询
- tp5数据库增删改
- 事务机制
- thinkphp模型model新建和查询
- tp5model的新增
- tp5model修改
- tp5model删除和软删除
- tp5视图
- tp5API