接下来这篇文章是以tp5.1重构参数校验层为基础的。没看过一定要去看看。
tp5.1重构参数校验层
比如,我们需要创建一个用户,则需要对用户名,密码、邮箱等参数进行校验,所以先创建个User验证器。代码如下:
<?php
namespace app\validate;
class User extends Base
{
protected $rule = [
'username' =>'require',
'password' => 'require',
'email' => 'require'
];
protected $message = [
'username' => '用户名不能为空',
'password' => '密码不能为空',
'email' => '邮箱不能为空',
];
}
在User控制器中,代码如下:
public function save($username,$password,$email)
{
(new User())->goCheck();
//验证通过后,写业务代码
}
这是创建用户时所需要验证的参数,但如果是用户登录呢?用户登录只需要username,password两个字段,不需要email。刚才写的验证器就无法使用了。TP5官方提供了一个方法来解决这个问题,就是在验证器中添加验证场景。将验证器User代码改为:
<?php
<