最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Thinkphp5框架異常處理操作實(shí)例分析

 更新時(shí)間:2020年06月03日 09:30:59   作者:huangyuxin_  
這篇文章主要介紹了Thinkphp5框架異常處理操作,結(jié)合實(shí)例形式分析了Thinkphp5框架異常處理操作原理、操作方法與相關(guān)使用技巧,需要的朋友可以參考下

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

異常處理

有時(shí)候服務(wù)端會(huì)報(bào)出我們無法感知的錯(cuò)誤,TP5默認(rèn)會(huì)自動(dòng)渲染錯(cuò)誤的形式,生產(chǎn)環(huán)境中這樣的形式并不是我們想要的。

未知錯(cuò)誤

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

創(chuàng)建ApiHandleException.php

<?php

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

class ApiHandleException extends Handle {

  /**
   * http 狀態(tài)碼
   * @var int
   */
  public $httpCode = 500;

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

2.修改config.phpexception_handle配置項(xiàng)

已知錯(cuò)誤

我們?cè)谂袛嘁粋€(gè)數(shù)據(jù)是否合法的時(shí)候,若不合法則拋出異常。

例如:

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

使用內(nèi)置的異常http狀態(tài)碼始終為500

1.創(chuàng)建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.對(duì)ApiHandleException.php改寫

<?php

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

class ApiHandleException extends Handle {

  /**
   * http 狀態(tài)碼
   * @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);
  }
}

開發(fā)環(huán)境

在開發(fā)環(huán)境的時(shí)候依舊使用異常渲染的模式

ApiHandleException.php中添加代碼

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

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

希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • thinkPHP5分頁功能實(shí)現(xiàn)方法分析

    thinkPHP5分頁功能實(shí)現(xiàn)方法分析

    這篇文章主要介紹了thinkPHP5分頁功能實(shí)現(xiàn)方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了thinkPHP5實(shí)現(xiàn)分頁功能的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10
  • PHP strtr() 函數(shù)使用說明

    PHP strtr() 函數(shù)使用說明

    轉(zhuǎn)換字符串中特定的字符。
    2008-11-11
  • PHP通過pem文件校驗(yàn)簽名異常問題解決

    PHP通過pem文件校驗(yàn)簽名異常問題解決

    在對(duì)接第三方支付過程中,支付成功異步回調(diào)時(shí),校驗(yàn)簽名,一直無法通過,最后經(jīng)過排查,是引用秘鑰文件時(shí),報(bào)錯(cuò)了,本文給大家分享PHP通過pem文件校驗(yàn)簽名異常問題解決方法,需要的朋友可以參考下
    2023-09-09
  • 用PHP和Shell寫Hadoop的MapReduce程序

    用PHP和Shell寫Hadoop的MapReduce程序

    Hadoop本身是Java寫的,所以,給hadoop寫mapreduce,人們會(huì)自然地想到Java。但Hadoop里面有個(gè)contrib叫做hadoop streaming,這是一個(gè)小工具,為hadoop提供streaming支持
    2014-04-04
  • ThinkPHP令牌驗(yàn)證實(shí)例

    ThinkPHP令牌驗(yàn)證實(shí)例

    ThinkPHP新版內(nèi)置了表單令牌驗(yàn)證功能,可以有效防止表單的遠(yuǎn)程提交等安全防護(hù)。這篇文章主要介紹了ThinkPHP令牌驗(yàn)證,需要的朋友可以參考下
    2014-06-06
  • PHP實(shí)現(xiàn)轉(zhuǎn)盤抽獎(jiǎng)算法分享

    PHP實(shí)現(xiàn)轉(zhuǎn)盤抽獎(jiǎng)算法分享

    這篇文章主要為大家詳細(xì)介紹了PHP實(shí)現(xiàn)大轉(zhuǎn)盤抽獎(jiǎng)算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Laravel框架實(shí)現(xiàn)多個(gè)視圖共享相同數(shù)據(jù)的方法詳解

    Laravel框架實(shí)現(xiàn)多個(gè)視圖共享相同數(shù)據(jù)的方法詳解

    這篇文章主要介紹了Laravel框架實(shí)現(xiàn)多個(gè)視圖共享相同數(shù)據(jù)的方法,涉及Laravel框架視圖與控制器數(shù)據(jù)調(diào)用相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • php+ajax+json 詳解及實(shí)例代碼

    php+ajax+json 詳解及實(shí)例代碼

    php中使用ajax獲取數(shù)據(jù)是網(wǎng)站開發(fā)中經(jīng)常要用到的,本文章想大家介紹php+ajax+json的一個(gè)最簡(jiǎn)單實(shí)例,對(duì)于新手來說學(xué)習(xí)php+ajax有一定的幫助,需要的朋友可以參考下
    2016-12-12
  • Yii清理緩存的方法

    Yii清理緩存的方法

    這篇文章主要介紹了Yii清理緩存的方法,涉及Yii結(jié)合jQuery的ajax調(diào)用實(shí)現(xiàn)清理緩存功能,代碼簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2016-01-01
  • ThinkPHP分頁實(shí)例

    ThinkPHP分頁實(shí)例

    這篇文章主要介紹了ThinkPHP分頁實(shí)例,詳細(xì)講述了ThinkPHP分頁的完整實(shí)現(xiàn)步驟,包括模型層、視圖層以及樣式的代碼,需要的朋友可以參考下
    2014-10-10

最新評(píng)論

达日县| 通州区| 灵丘县| 大荔县| 林芝县| 高密市| 台南县| 武定县| 综艺| 灯塔市| 阿拉善盟| 阿尔山市| 灌阳县| 邻水| 西峡县| 广河县| 正宁县| 灵宝市| 峨眉山市| 合江县| 玛纳斯县| 渭南市| 曲阜市| 冀州市| 栾川县| 芦山县| 堆龙德庆县| 芜湖市| 大悟县| 精河县| 宾川县| 房产| 如东县| 白银市| 芷江| 永定县| 三穗县| 高尔夫| 土默特左旗| 新化县| 察雅县|