Thinkphp5框架异常处理操作包括哪些
导读:这篇文章主要给大家介绍“Thinkphp5框架异常处理操作包括哪些”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“Thinkphp5框架异常处理操作包括哪些”文章能对大家有...
这篇文章主要给大家介绍“Thinkphp5框架异常处理操作包括哪些”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“Thinkphp5框架异常处理操作包括哪些”文章能对大家有所帮助。本文实例讲述了Thinkphp5框架异常处理操作。分享给大家供大家参考,具体如下:
异常处理
有时候服务端会报出我们无法感知的错误,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); }
以上就是关于Thinkphp5框架异常处理操作包括哪些的介绍,本文内容仅供参考,有需要的朋友可以借鉴了解看看,希望对大家学习或工作,想要了解更多欢迎关注网络,小编每天都会为大家更新不同的知识。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Thinkphp5框架异常处理操作包括哪些
本文地址: https://pptw.com/jishu/650836.html