thinkphp5.1 中使用自定義異常處理類進(jìn)行接管
配置文件修改
config/app.php
自定義異常接管類出處
'exception_handle' => ‘\app\common\exception\ExceptionHandle',
自定義處理異常方法
寡人的存放目錄為 app/common/exception
ApiException.php
namespace app\common\exception; use Exception; class ApiException extends Exception { /** * 構(gòu)造函數(shù) */ public function __construct(array $ApiErrConst, Throwable $previous = null) { $code = $ApiErrConst[0]; $message = $ApiErrConst[1]; parent::__construct($message, $code, $previous); } }
ExceptionHandle.php
namespace app\common\exception; use Exception; use think\exception\Handle; use app\common\exception\ApiException; use app\common\err\ApiErrCode; class ExceptionHandle extends Handle { // 引入復(fù)用模塊:JSON返回格式 use \app\common\traits\ResponseJson; public function render(Exception $e) { if($e instanceof ApiException) { $code = $e->getCode(); $message = $e->getMessage(); }else{ $code = $e->getCode(); if(!$code || $code < 0) { $code = ApiErrCode::ERROR_UNKNOW[0]; } $message = $e->getMessage() ? $e->getMessage() : ApiErrCode::ERROR_UNKNOW[1]; } echo $this->jsonErrorData($code,$message); //該方法在下方 // 其他錯誤交給系統(tǒng)處理 // return parent::render($e); } }
錯誤碼文件
存放目錄:app/common/err
namespace app\common\err; class ApiErrCode { /** * API通用錯誤碼 const 定義常量 * error_code < 1000 */ const ERROR_UNKNOW = [0, "未知錯誤"]; const ERROR_URL = [1, "接口不存在"]; ....... }
復(fù)用模塊
針對API接口返回格式
存放目錄:app/common/traits
namespace app\common\traits; trait ResponseJson { /** * API接口出現(xiàn)業(yè)務(wù)異常時時返回 * @author Leo */ public function jsonErrorData($code,$message,$data = []) { return $this->jsonResponse($code, $message, $data); } /** * API接口請求成功時返回 * @author Leo */ public function jsonSuccessData($data = []) { return $this->jsonResponse(200, "Sucess", $data); } /** * 返回一個JSON * @author Leo */ private function jsonResponse($code,$message,$data) { $content = [ 'code' => $code, 'msg' => $message, 'data' => $data ]; return json_encode($content); } }
頁面調(diào)用
// 文件頭部引入 use app\common\exception\ApiException; use app\common\err\ApiErrCode; // 引入復(fù)用模塊:JSON返回格式 use \app\common\traits\ResponseJson; // 示例 public function index() { throw new ApiException(ApiErrCode::ERROR_URL); // 自定義異常拋出 }
到此這篇關(guān)于thinkphp5.1 中使用自定義異常處理類進(jìn)行接管的文章就介紹到這了,更多相關(guān)thinkphp5.1 自定義異常處理類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
php導(dǎo)出csv格式數(shù)據(jù)并將數(shù)字轉(zhuǎn)換成文本的思路以及代碼分享
最近接的一個項(xiàng)目,需要將一些統(tǒng)計結(jié)果之類的東西導(dǎo)出成CSV,以便做報表,根據(jù)往常經(jīng)驗(yàn),現(xiàn)將思路和代碼都發(fā)出來,如有更好的方法,希望高手指正2014-06-06Linux中用PHP判斷程序運(yùn)行狀態(tài)的2個方法
這篇文章主要介紹了Linux中用PHP判斷程序運(yùn)行狀態(tài)的2個方法,需要的朋友可以參考下2014-05-05PHP中將網(wǎng)頁導(dǎo)出為Word文檔的代碼
今天要探討的是PHP網(wǎng)頁導(dǎo)出Word文檔的方法,使用其他語言的朋友也可以參考,因?yàn)樵硎遣畈欢嗟?/div> 2012-05-05最新評論