greezen

Results 5 comments of greezen

如果是在常规的业务代码中是比较好处理,若在 respone 时报错,貌似没有更好的方式,比如从数据库查出来就是乱码的,可能要排查好几个字段才能查到(多张表得到的结果)

> 描述一个例子吧,现在确实无法说服我们大多数人合并这个 pr 场景描述:商品详情页有 50 个相关字段,用户打开某一商品时,由于乱码导致返回 json 时 500 错误,异常信息中没有相关的数据信息,排查时只能靠人眼扫描,效率很低。如果能自定义 json 的参数也能比较友好的解决这个问题,如: $this->response->json($data,JSON_xxx)

> 好吧,现在这个情况,确实可以你自己处理下就能解决的 > > > > 如果你使用的官方 json 方法,肯定会走到上面的方法,所以你实际上自己在外层 try catch 如果有问题,直接可以拿到 上面的 data 而非从 异常里来拿了。 > > ``` > $this->response->json($data,JSON_xxx) > ``` > > 当然,正常情况下,你肯定这个方法要进行封装的,类似这里 > > https://github.com/hyperf/biz-skeleton/blob/master/app/Kernel/Http/Response.php#L34 >...

以下是 laravle 中的写法,感觉支持传参是比较好的方式 ```php return response()->json(['status' => 1, 'msg' => substr('我是高性能、高灵活性的渐进式 PHP 协程框架',0, 4)], 200,[],JSON_INVALID_UTF8_SUBSTITUTE); ```

> 要学会变通啊。。 > > ``` > public function json($data): PsrResponseInterface > { > $data = $this->toJson($data); > return $this->getResponse() > ->addHeader('content-type', 'application/json; charset=utf-8') > ->setBody(new SwooleStream($data)); > } > ```...