一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - Thinkphp5框架異常處理操作實例分析

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

2020-06-17 14:49huangyuxin_ PHP教程

這篇文章主要介紹了Thinkphp5框架異常處理操作,結合實例形式分析了Thinkphp5框架異常處理操作原理、操作方法與相關使用技巧,需要的朋友可以參考下

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

 

異常處理

 

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

 

未知錯誤

 

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

創建ApiHandleException.php

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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配置項

 

已知錯誤

 

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

例如:

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

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

1.創建ApiException.php

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?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改寫

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?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中添加代碼

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

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

原文鏈接:https://blog.csdn.net/huangyuxin_/article/details/93641943

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: a级毛片毛片免费观看永久 a级黄色片免费 | 国产福利不卡 | 精品综合在线 | 成年人天堂 | 日产乱码2021永久手机版 | 91麻豆精品国产自产在线 | 亚洲国产精品无码中文字满 | 34看网片午夜理 | 国产精品自在欧美一区 | 不知火舞被c视频在线播放 不卡一区二区三区卡 | 2020年国产精品午夜福利在线观看 | 青青青在线视频 | 国语自产拍在线观看7m | 欧美日韩综合网在线观看 | 日韩成本大片35分钟免费播放 | 亚洲国产精品综合福利专区 | 欧美影院一区二区三区 | 婷婷色伊人 | 1769在线观看 | 啪啪模拟器 | 亚洲男人天堂久久 | free白嫩性hd | 青青青国产手机在线播放 | 亚洲国产精品ⅴa在线观看 亚洲国产高清一区二区三区 | www.av在线视频| 慢慢娇淫| 亚洲精品国产乱码AV在线观看 | 欧美操大逼视频 | 久草热8精品视频在线观看 久草草在线视视频 | 好男人资源在线观看免费的 | 亚洲国产综合精品 | 奇米777四色精品综合影院 | 肥胖老寡妇做性 | 日本美女视频韩国视频网站免费 | 爱情岛论坛亚洲永久入口口 | 国产99视频精品免费视频免里 | 欧美专区亚洲 | 91国内精品久久久久影院优播 | 黄www片 | 互换娇妻爽文100系列小说 | 久久精品国产视频澳门 |