ThinkPHP框架中的异常类不适合作为接口开发的异常显示,通常都需要自定义一个符合项目的异常类。restful api数据结构格式一般是:
- status 业务状态码
- message 提示信息
- data 数据信息
-
在项目中新建文件:
applicationcommonlibexceptionApiHandleException.php,继承Handle类,覆盖掉原来的render方法异常处理类。实例代码:<?php namespace appcommonlibexception; use thinkexceptionHandle; class ApiHandleException extends Handle{ public $httpCode = 500; public function render(Exception $e){ if(config('app_debug') == true){ return parent::render($e); } if($e instanceof ApiException){ $this->httpCode = $e->httpCode; } $data=[ 'status' => 0, 'message' => $e->getMessage() , 'data' => [], ]; return json($data, $this->httpCode); } } -
在config.php中加入自己定义的异常类的
namespace路径// 异常处理handle类 'exception_handle' => 'appcommonlibexceptionApiHandleException', -
在项目中新建文件:
applicationcommonlibexceptionApiException.php,<?php namespace appcommonlibexception; use thinkException; class ApiException extends Exception{ public $message = ''; public $httpCode = 500; public $code = 0; public function __construct($message = '', $httpCode = 0, $code = 0){ $this->message = $message; $this->httpCode = $httpCode; $this->code = $code; } } -
输出异常例子
public function test($status){ if($status != 1){ throw new ApiException('提交不合法', 400); } return $status; }
最后
以上就是文艺豌豆最近收集整理的关于 自定义异常类(restful api)的全部内容,更多相关内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复