zoukankan      html  css  js  c++  java
  • 【thinkphp5】使用tp5开发api接口 定义全局异常处理

    1 新建文件夹以及文件

    路径: /application/lib/exception/ExceptionHandler.php

    并键入以下代码

    <?php
    namespace applibexception;
    
    use thinkException;
    use thinkconfig;
    use thinkexceptionHandle;
    /**
     * 自定义异常类
     */
    class ExceptionHandler extends Handle {
        /**
         * http状态码
         * @var unknown
         */
        public $httpCode = 500;
    
        public function render(Exception $e){
            $debug_status = config("app_debug");
            if($debug_status){
                return parent::render($e);
            }else{
                return $this->show(2, $e->getMessage(), [], $this->httpCode);
            }
        
        }
    
        /**
         * 通用化API接口数据输出
         * @param int $status  操作成功还是失败: 1 成功 2 失败
         * @param int $errorcode 业务错误状态码
         * @param string $msg 信息提示
         * @param [] $result 数据 
         * @param int $httpCode http状态码
         */
        public function show($status, $message ,$data = [] ,$httpCode = 200)
        {
            $data =  [
                'status' => $status,
                'errorcode'=>'100000',
                'msg' => $message,
                'result' =>$data
            ];
    
            return json($data, $httpCode);
    
        }
    }

    为了便于调试。引入 config文件, debug开启时候。会正常显示错误信息。。debug关闭。则是json数据

    2 修改 config.php中的 exception_handle , 接管异常处理

    // 异常处理handle类 留空使用 	hinkexceptionHandle
      'exception_handle'       => 'applibexceptionExceptionHandler',
  • 相关阅读:
    基于Metaweblog API 接口一键发布到国内外主流博客平台
    uva144 Student Grants
    Uva 10452
    Uva 439 Knight Moves
    Uva 352 The Seasonal War
    switch语句
    java——基础知识
    我的lua学习2
    codeforces 431 D. Random Task 组合数学
    codeforces 285 D. Permutation Sum 状压 dfs打表
  • 原文地址:https://www.cnblogs.com/richerdyoung/p/9952846.html
Copyright © 2011-2022 走看看