tp5对异常处理操作是什么?
Admin 2021-05-18 群英技术资讯 861 次浏览
文本主要大家介绍tp5异常处理的操作,有时候服务端会报出我们未知错误,TP5默认会自动渲染错误的形式,那么对此我们需要怎么处理呢?那么已知错误,又该怎么处理操作?
1.exception\Handle.php下的render方法需要覆盖
创建ApiHandleException.php
<?php namespace app\common\lib\exception; use think\exception\Handle; class ApiHandleException extends Handle { /** * http 状态码 * @var int */ public $httpCode = 500; public function render(\Exception $e) { return show(0, $e->getMessage(), [], $this->httpCode); } }
2.修改config.php的exception_handle配置项
我们在判断一个数据是否合法的时候,若不合法则抛出异常。
例如:
if($data['msg'] != 1){ throw Exception('数据异常'); }
使用内置的异常http状态码始终为500
1.创建ApiException.php
<?php namespace app\common\lib\exception; use think\Exception; class ApiException extends Exception { public $message = ''; public $httpCode = 500; public $code = 0; /** * @param string $message * @param int $httpCode * @param int $code */ public function __construct($message = '', $httpCode = 0, $code = 0) { $this->httpCode = $httpCode; $this->message = $message; $this->code = $code; } }
2.对ApiHandleException.php改写
<?php namespace app\common\lib\exception; use think\exception\Handle; class ApiHandleException extends Handle { /** * http 状态码 * @var int */ public $httpCode = 500; public function render(\Exception $e) { if ($e instanceof ApiException) { $this->httpCode = $e->httpCode; } return show(0, $e->getMessage(), [], $this->httpCode); } }
在开发环境的时候依旧使用异常渲染的模式。在ApiHandleException.php中添加代码
if(config('app_debug') == true) {
return parent::render($e);
}
关于tp5异常处理的操作就介绍到这,希望大家阅读完这篇文章能有所收获,更多tp5异常处理内容,大家可以继续关注其他文章
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
区别:1、Laravel是一个全栈Web应用程序框架,而Lumen是一个微框架,用于开发微服务和API开发;2、Laravel可以与更多数量的工具集成,而Lumen与其他工具的集成设施数量较少。
PHP中runkit扩展的使用有哪些知识点?一些朋友可能会遇到这方面的问题,对此在下文小编向大家来讲解一下,内容详细,易于理解,希望大家阅读完这篇能有收获哦,有需要的朋友就往下看吧!
这篇文章主要给大家分享的是PHP开发api接口安全验证的操作,下文有验证原理的介绍以及实例,具有一定的借鉴价值,感兴趣的朋友可以参考一下,希望大家阅读完这篇文章能有所收获,下面我们一起来了解一下吧。
在本篇文章里小编给大家整理的是一篇关于PHP7中对十六进制字符串处理的问题详解内容,有需要的朋友们可以跟着学习下。
本文主要给大家介绍下PHP编程之笛卡尔积算法的相关内容,如果你刚好对这方面比较感兴趣的话,下文的讲解详细,步骤过程清晰,对大家进一步学习和理解相关知识有一定的帮助。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008