春節(jié)期間熟悉了TP6, 也寫了一個TP6的博客程序,但系統(tǒng)的異常頁面實在另外頭疼,很多時候無法查看到是哪行代碼出的問題。
所以就特別的想把whoops引進來,經(jīng)過一系列的研究,終于找到了解決的辦法:
1. 通過composer安裝whoops
運行命令: composer require filp/whoops
注意:composer引進的文件如果有語法錯誤,需要提前把語法錯誤處理好才能進行安裝,否則一直報錯。
2. 使用whoops接管tp6的異常處理
在/app/ExceptionHandle.php文件的render()方法中加入如下代碼:
// 添加自定義異常處理機制
if (ENV('APP_DEBUG')) {
// 如果是HttpResponseException異常則原樣輸出
// JUMP插件里的success,error和result方法均返回的是HttpResponseException異常
if ($e instanceof HttpResponseException) {
return $e->getResponse();
}
// Whoops 接管請求異常
$whoops = new \Whoops\Run;
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler());
return Response::create(
$whoops->handleException($e),
'html',
500
);
}
如下圖:
3. 看看結(jié)果吧
我在博客首頁的index方法中寫入了一個不存在的函數(shù):
刷新頁面一看, 妥了
OK. 熟悉的whoops又回來了.
4. 后記
為了在thinkphp6中使用whoops, 我又認(rèn)真的看了一遍PHP7中的異常機制,終于是把whoops給引進來了.
在學(xué)習(xí)異常處理的過程中, 我也發(fā)現(xiàn)在PHP7中應(yīng)該使用try()catch()來進行業(yè)務(wù)處理, 而不是再使用if()else()了.
后續(xù)我會單獨寫篇文章來講述我在研究PHP7的異常中獲得的經(jīng)驗.
以上就是讓whoops幫我們告別ThinkPHP6的異常頁面的詳細內(nèi)容,更多關(guān)于whoops替換ThinkPHP6的異常頁的資料請關(guān)注腳本之家其它相關(guān)文章!
您可能感興趣的文章:- 再談PHP錯誤與異常處理
- PHP中的異常處理機制深入講解
- php中try catch捕獲異常實例詳解
- Thinkphp5框架異常處理操作實例分析
- Laravel 解決composer相關(guān)操作提示php相關(guān)異常的問題
- Thinkphp 在api開發(fā)中異常返回依然是html的解決方式
- PHP使用觀察者模式處理異常信息的方法詳解
- php異常處理捕獲錯誤整理
- PHP批斗大會之缺失的異常詳解
- PHP中的異常及其處理機制