使用yii 自定义错误显示遇到的问题

在使用Yii2.0框架和JWT进行前后端分离项目时,作者遇到自定义错误显示和错误处理的问题。通过分析项目代码和官方文档,发现错误处理动作应在SiteController中配置,而之前的错误在于将另一项目的设置直接套用,忽视了不同项目的基础控制器差异。解决问题的关键是理解错误处理器的工作原理和官方文档。最后,强调了解决问题的步骤和学习资源的重要性。
摘要由CSDN通过智能技术生成

使用yii 自定义错误显示遇到的问题

想要实现的需求:

我们使用Yii2.0框架做一个前后端分离的项目,其中使用了中间件(借鉴了Laravel的思想是使用了Yii2.0中的behaviors进行实现,具体实现还没有来得及看,后面看过可以给大家分享一下)判断用户携带了的token是否正确,我们项目中使用了JWT来进行用户判断,当jwt认证失败或者用户没有传过来token的值的时候,中间件抛出异常,我们需要对这个异常进行捕获,返回给前端json类型的参数,否者前端无法进行判断。

那么怎么自定义错误显示呢?

这个时候正确的第一想法首先要去yii2.0的官网中看一下,然而我不是这样做的,我们还有一个项目使用了自定义错误处理,所以我就参考了另一个项目。

描述出现的问题:

另一个项目中完全可以使用,我的项目中参考另外一个项目中的代码和配置无法使用,笑哭了…

遇见这个问题的时候:我们要提醒自己别慌,从头开始分析,一步步解决它。

下面是我们组大神写的自定义错误处理,大致意思判断是否是Ajax请求,如果是返回json信息,如果不是,返回html信息,我们这个文件是放在/app/libary/ErrorAction 这个类继承于 \yii\web\ErrorAction.

但是我的接口一直返回html信息,没有返回json信息,这个时候就有点疑问了,代码都是一样的,为什么另一个项目可以跑,放到自己项目中不可以跑呢?相信大家都遇到过这个问题,那么我们一起来分析分析它吧。

分析过程

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值