クールな子供向けの 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
コードに Pretty ハンドラーを登録します。
$ 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
に渡すクロージャまたは呼び出し可能オブジェクトは、whoopsによって自動的にラップされます。JsonResponseHandler
- 例外をキャプチャし、例外に関する情報を JSON 文字列として返します。たとえば、AJAX リクエストを適切に処理するために使用できます。XmlResponseHandler
- 例外をキャプチャし、例外に関する情報を XML 文字列として返します。たとえば、AJAX リクエストを適切に処理するために使用できます。SOAP ハンドラーなどのプラグ可能なハンドラーを使用することもできます。
このライブラリは主に Filipe Dobreira によって開発され、現在は Denis Sokolov によって保守されています。多くの素晴らしい修正や機能強化も、さまざまな貢献者によって送られてきました。継続的に参加してくださった Graham Campbell 氏と Markus Staab 氏に心より感謝いたします。