whoops
1.0.0
酷孩子的 PHP 錯誤
whoops是 PHP 的錯誤處理框架。它開箱即用,提供了一個漂亮的錯誤介面,可以幫助您調試 Web 項目,但本質上它是一個簡單但功能強大的堆疊錯誤處理系統。
如果您使用 Laravel 4、Laravel 5.5+ 或 Mezzio,那麼您已經擁有了 Whoops。還有社群提供的說明,介紹如何將 Whoops 整合到 Silex 1、Silex 2、Phalcon、Laravel 3、Laravel 5、CakePHP 3、CakePHP 4、Zend 2、Zend 3、Yii 1、FuelPHP、Slim、Pimple、Laminas、或任何使用StackPHP 中介軟體或PSR-7 中介軟體的框架。
如果您沒有使用任何這些框架,這裡有一個非常簡單的安裝方法:
使用 Composer 將 Whoops 安裝到您的專案中:
composer require filp/whoops
在您的程式碼中註冊漂亮的處理程序:
$ whoops = new Whoops Run ;
$ whoops -> pushHandler ( new Whoops Handler PrettyPageHandler );
$ whoops -> register ();
如需更多選項,請查看examples/
中的範例檔案以了解其工作原理。另請查看 API 文件和下面的可用處理程序清單。
您可能還想覆寫 Whoops 所做的一些系統呼叫。為此,請擴展WhoopsUtilSystemFacade
,覆蓋所需的函數並將其作為參數傳遞給Run
建構函數。
您也可以收集產生的 HTML 來自行處理:
$ whoops = new Whoops Run ;
$ whoops -> allowQuit ( false );
$ whoops -> writeToOutput ( false );
$ whoops -> pushHandler ( new Whoops Handler PrettyPageHandler );
$ html = $ whoops -> handleException ( $ e );
whoops目前隨附以下內建處理程序,可在WhoopsHandler
命名空間中使用:
PrettyPageHandler
- 當出現問題時顯示一個漂亮的錯誤頁面PlainTextHandler
- 輸出純文字訊息以在 CLI 應用程式中使用CallbackHandler
- 將閉包或其他可呼叫物件包裝為處理程序。您不需要明確使用此處理程序, whoops會自動包裝您傳遞給WhoopsRun::pushHandler
任何閉包或可調用對象JsonResponseHandler
- 捕獲異常並以 JSON 字串的形式傳回有關異常的資訊。例如,可用來很好地處理 AJAX 請求。XmlResponseHandler
- 捕獲異常並以 XML 字串的形式傳回有關異常的資訊。例如,可用來很好地處理 AJAX 請求。您也可以使用可插入處理程序,例如 SOAP 處理程序。
該庫主要由 Filipe Dobreira 開發,目前由 Denis Sokolov 維護。各種貢獻者還發送了許多很棒的修復和增強功能。特別感謝 Graham Campbell 和 Markus Staab 的持續參與。