前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TP5.0的response数据拦截处理

TP5.0的response数据拦截处理

作者头像
HHTjim 部落格
发布2022-09-26 10:51:39
3040
发布2022-09-26 10:51:39
举报
文章被收录于专栏:HHTjim'S 部落格

TP5.0的response数据拦截处理

作者:matrix 被围观: 10,167 次 发布时间:2018-05-08 分类:零零星星 | 5 条评论 »

这是一个创建于 1576 天前的主题,其中的信息可能已经有所发展或是发生改变。

处理返回数据的时候进行json编码/解码可能会因为不是标准的json字符导致出现一系列的连锁反应问题,没有正确的拦截错误信息的显示。

TP5获取器getAttr中进行json处理,结果出现不可预料的false值,且抛出异常 syntax error 语法错误。很蛋疼啊,明明相应的处理判断,但是错误定位行却是json_encode进行json编码的操作。

后面替换掉以前使用的默认全局函数json()进行自定义json字符输出,解决。

创建自定义Json类

继承\think\response\Json

代码语言:javascript
复制
<?php
/**
 * Created by PhpStorm.
 * User: panc
 * Date: 2018/5/8
 * Time: 上午11:24
 *
 * 自定义处理json的数据【避免json_encode报错:Syntax error 以及各种杂七杂八的问题】
 */

namespace app\common\output;//自定义命名空间


class json extends \think\response\Json
{
//    protected function output($data)  //可以自定义重写数据输出即可  
}

调用Response类输出

控制器中调用执行

代码语言:javascript
复制
//        return json($result);
return new \app\common\output\Json($result);

关键操作如上,虽然只是继承没有任何重写,但是实际上是解决了大问题。可以跟好的控制输出的结果和抛错。

peace~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • TP5.0的response数据拦截处理
    • 创建自定义Json类
      • 调用Response类输出
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档