婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Thinkphp5框架異常處理操作實例分析

Thinkphp5框架異常處理操作實例分析

熱門標簽:電子地圖標注怎么修改 梧州市機器人外呼系統怎么樣 臨沂crm外呼系統平臺 如何在世界地圖標注 菏澤語音外呼系統運營商 公司外呼系統中心 廈門400電話辦理選易號網 地圖標注符號樣式有 天客通地圖標注

本文實例講述了Thinkphp5框架異常處理操作。分享給大家供大家參考,具體如下:

異常處理

有時候服務端會報出我們無法感知的錯誤,TP5默認會自動渲染錯誤的形式,生產環境中這樣的形式并不是我們想要的。

未知錯誤

1.exception\Handle.php下的render方法需要覆蓋

創建ApiHandleException.php

?php

namespace app\common\lib\exception;
use think\exception\Handle;

class ApiHandleException extends Handle {

  /**
   * http 狀態碼
   * @var int
   */
  public $httpCode = 500;

  public function render(\Exception $e) {
    return show(0, $e->getMessage(), [], $this->httpCode);
  }
}

2.修改config.phpexception_handle配置項

已知錯誤

我們在判斷一個數據是否合法的時候,若不合法則拋出異常。

例如:

    if($data['msg'] != 1){
      throw Exception('數據異常');
    }

使用內置的異常http狀態碼始終為500

1.創建ApiException.php

?php

namespace app\common\lib\exception;
use think\Exception;

class ApiException extends Exception {

  public $message = '';
  public $httpCode = 500;
  public $code = 0;
  /**
   * @param string $message
   * @param int $httpCode
   * @param int $code
   */
  public function __construct($message = '', $httpCode = 0, $code = 0) {
    $this->httpCode = $httpCode;
    $this->message = $message;
    $this->code = $code;
  }
}

2.對ApiHandleException.php改寫

?php

namespace app\common\lib\exception;
use think\exception\Handle;

class ApiHandleException extends Handle {

  /**
   * http 狀態碼
   * @var int
   */
  public $httpCode = 500;

  public function render(\Exception $e) {
    if ($e instanceof ApiException) {
      $this->httpCode = $e->httpCode;
    }
    return show(0, $e->getMessage(), [], $this->httpCode);
  }
}

開發環境

在開發環境的時候依舊使用異常渲染的模式

ApiHandleException.php中添加代碼

    if(config('app_debug') == true) {
      return parent::render($e);
    }

更多關于thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術總結》。

希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。

您可能感興趣的文章:
  • 詳解Docker 下開發 hyperf 完整使用示例
  • PhpStorm 如何優雅的調試Hyperf的方法步驟
  • php框架知識點的整理和補充
  • php中Workerman框架實例講解
  • 淺談php常用的7大框架的優缺點
  • php框架CI(codeigniter)自動加載與自主創建對象操作實例分析
  • ThinkPHP5框架中使用JWT的方法示例
  • Thinkphp5框架中引入Markdown編輯器操作示例
  • 淺談減少Hyperf框架的掃描時間

標簽:雞西 迪慶 郴州 白城 綿陽 黃石 貴陽 瀘州

巨人網絡通訊聲明:本文標題《Thinkphp5框架異常處理操作實例分析》,本文關鍵詞  Thinkphp5,框架,異常,處理,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Thinkphp5框架異常處理操作實例分析》相關的同類信息!
  • 本頁收集關于Thinkphp5框架異常處理操作實例分析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 竹北市| 迭部县| 新密市| 崇明县| 中阳县| 泽普县| 咸丰县| 永寿县| 图片| 双桥区| 扶绥县| 浪卡子县| 嘉兴市| 武邑县| 安丘市| 竹北市| 宁国市| 江安县| 永修县| 巴彦淖尔市| 石门县| 拉萨市| 满城县| 南投市| 新津县| 济宁市| 阿城市| 湟中县| 宝应县| 章丘市| 台安县| 杭锦旗| 合作市| 翼城县| 上饶县| 沭阳县| 贞丰县| 广东省| 鄂州市| 东兴市| 枣庄市|