一个基于ThinkPHP5.1的项目基础应用,支持全局异常处理,支持类似AOP切面验证层

一、支持全局异常处理,异常报错,返回json,而不是html

使用ThinkPHP的小伙伴都知道,如果遇到服务报错,直接就返回了HTML代码

如果是做API接口的时候,报错后,直接返回HTML,对移动端的小伙伴来说,这个是很不友好的

如果是能返回json,那移动端的小伙伴就很容易理解了

tp5开始支持重写异常,重写Exception的handle方法

首先修改config目录下的app.php,修改exception_handle的指定地址,添加重写handle的目录

这样子就可以重写tp5自带的异常,同时将异常返回改成json格式

二、支持类似AOP切面验证层

用户请求参数是不可靠的,所以,我们需要做一层验证,可是,很多验证都是相同的

怎么解决呢?

方法1:不验证了,反正可以和前端、移动端的小伙伴约好,让他们自己验证,验证完再传过来

方法2:每个接口都复制一份代码,哪里需要验证,复制到哪里

方法3:抽出来做成方法,哪里需要验证,就写在哪里

方法4:tp都已经有vaildate了,直接用这个啦

为了,少写重复代码,再加上tp5开始,支持vaildate类

熟悉Java的小伙伴,知道这种就直接用注解,php没注解呀

熟悉python的小伙伴,知道这种直接用装饰器,php也没现成的装饰器

在tp5中,可以重写Validate的goCheck方法和getDataByRule方法,可以命名为BaseVaildate

然后在重新定义各个验证层,需要继承我们自己重写的BaseVaildate类

如果需要验证的时候,就直接调用自己写的验证方法就可以了

如:(new IdValidate())->goCheck();

项目地址:https://github.com/chenduoduo007/cdd_tp51

麻烦帮忙star一下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值