想当年6.0刚出来的时候,我用的是出神入化,现在记性不好了长时间也没有用,写文章记录一下问题和重要的笔记。

验证器

生成验证类

php think make:validate User

验证,用的Base控制器官方给出的方法

/**
* 验证成功返回true,否则返回错误信息
* $res string|bool
*/
$res = $this->validate([
    'username' => $username,
], 'User.username');
传入的data数组必须是键值对格式

我这里把基类的验证器返回类型改了一下

try {
    $v->failException(true)->check($data);
}catch (ValidateException $e){
    return $e->getMessage();
}

return true;

JWT解密

try{
    $res = (array)JWT::decode($token, new Key($this->jwt_key, 'HS256'));
}catch (\Exception $e){
    //dump($e->getMessage());

    return false;
}

return (array)$res['data'];
JWT解密成功默认返回的是obj对象,php通常需要转为数组使用。