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',
  • 相关阅读:
    python遍历字典元素
    Asp.net网站优化【转】
    三、HTTP协议
    二、 OSI模型的实现TCP 、IP
    一、OSI模型
    JVM原理:4 运行期优化
    JS:jquery插件表格单元格合并.
    28-语言入门-28-1的个数
    27-语言入门-27-成绩转换
    26-语言入门-26-兄弟郊游问题
  • 原文地址:https://www.cnblogs.com/richerdyoung/p/9952846.html
Copyright © 2011-2022 走看看