春節(jié)期間熟悉了TP6, 也寫了一個(gè)TP6的博客程序,但系統(tǒng)的異常頁面實(shí)在另外頭疼,很多時(shí)候無法查看到是哪行代碼出的問題。
所以就特別的想把whoops引進(jìn)來,經(jīng)過一系列的研究,終于找到了解決的辦法:
1. 通過composer安裝whoops
運(yùn)行命令: composer require filp/whoops
注意:composer引進(jìn)的文件如果有語法錯(cuò)誤,需要提前把語法錯(cuò)誤處理好才能進(jìn)行安裝,否則一直報(bào)錯(cuò)。
2. 使用whoops接管tp6的異常處理
在/app/ExceptionHandle.php文件的render()方法中加入如下代碼:
// 添加自定義異常處理機(jī)制 if (ENV('APP_DEBUG')) { // 如果是HttpResponseException異常則原樣輸出 // JUMP插件里的success,error和result方法均返回的是HttpResponseException異常 if ($e instanceof HttpResponseException) { return $e->getResponse(); } // Whoops 接管請(qǐng)求異常 $whoops = new \Whoops\Run; $whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler()); return Response::create( $whoops->handleException($e), 'html', 500 ); }
如下圖:
3. 看看結(jié)果吧
我在博客首頁的index方法中寫入了一個(gè)不存在的函數(shù):
刷新頁面一看, 妥了
OK. 熟悉的whoops又回來了.
4. 后記
為了在thinkphp6中使用whoops, 我又認(rèn)真的看了一遍PHP7中的異常機(jī)制,終于是把whoops給引進(jìn)來了.
在學(xué)習(xí)異常處理的過程中, 我也發(fā)現(xiàn)在PHP7中應(yīng)該使用try()catch()來進(jìn)行業(yè)務(wù)處理, 而不是再使用if()else()了.
后續(xù)我會(huì)單獨(dú)寫篇文章來講述我在研究PHP7的異常中獲得的經(jīng)驗(yàn).
以上就是讓whoops幫我們告別ThinkPHP6的異常頁面的詳細(xì)內(nèi)容,更多關(guān)于whoops替換ThinkPHP6的異常頁的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
標(biāo)簽:隴南 平頂山 唐山 通遼 黃山 河南 南通 武漢
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《讓whoops幫我們告別ThinkPHP6的異常頁面》,本文關(guān)鍵詞 讓,whoops,幫,我們,告別,ThinkPHP6,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。