概述
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)的全部内容,希望文章能够帮你解决 自定义异常类(restful api)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复