在正常情况,我们会通过,if,else进行判断一个接口的条件是否满足,不满足则输出错误,例如
在IM系统中,申请入群接口,需要以下判断:
$param = $this->request()->getRequestParam... return true;
}
可以看出,这里面有着非常多的if else,return,writeJson等重复代码.那么,有没有一个办法,进行if,else等封装,直接一行代码实现 判断+输出错误呢...的作用是将正常数据转为bool类型
//断言一定存在groupInfo
assert(!!...$userInfo,'你已经是本群成员');
}catch (\Throwable $throwable){
//拦截抛出的异常,然后直接输出json 错误消息
$this->writeJson...相关较为完善的代码已开源:
https://github.com/tioncico/LogicAssert 仅供参考
其他
需要注意的是,断言的意思为: 断定条件为真,使代码继续往下执行,断言抛出异常为,条件错误才抛出