内容へ移動
Ground Sunlight
Windowsで作る - PHPプログラミングの開発環境
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
•
PHP7.2 ZeroMQのインストール
•
定番ライブラリー
basic-library:whoops:2.7
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== エラーハンドラー - Whoops ====== Version 2.7 ([[https://github.com/filp/whoops/blob/master/LICENSE.md|MIT License]]) --- //[[http://www.y2sunlight.com|y2sunlight]] 2020-03-18// [[basic-library:top|定番ライブラリー に戻る]] 関連記事 * [[basic-library:project|プロジェクトの作成 - Apricot (α版)]] * [[basic-library:phpdotenv:4.1|環境変数 - phpdotenv]] * [[basic-library:monolog:2.0|ログ出力 - monolog]] * [[basic-library:idiorm:1.5|ORマッパー - Idiorm]] * [[basic-library:bladeone:3.37|テンプレートエンジン - BladeOne]] * [[basic-library:fast-route:1.3|リクエストルーター - FastRoute]] * [[basic-library:league-container:3.3|DIコンテナー - League/Container]] * [[basic-library:valitron:1.4|バリデーター - Valitron]] * エラーハンドラー - Whoops * [[basic-library:php-debugbar:1.16|デバッグ出力 - php-debugbar]] リンク * https://github.com/filp/whoops --- whoopsの本家 * https://github.com/filp/whoops/blob/master/docs/API%20Documentation.md --- APIドキュメント === Code-Prettify === * Whoops は Code-Prettify を含んでいます。それは[[https://github.com/google/code-prettify/blob/master/COPYING|Apache License 2.0]]下で公開されています。 * Code-Prettify は Googleによって公開されているHTMLに含まれるソースコードを装飾して見やすくするためのCSS&JavaScriptライブラリです。 * https://github.com/google/code-prettify --- Code-Prettifyの本家 テストプログラムの所在 <code> {Project Folder}\test\ </code> ---- ===== Whoopsについて ===== どんなプログラム開発にも集約例外ハンドラーは必要です。それは、いわゆる ''Uncaught Exception Handler''とも呼ばれ、誰にも補足されなかった例外を処理するハンドラーのことです。この集約例外ハンドラーのお陰で、開発時の問題の早期発見や、運用時の例外発生時のログ収集が可能になります。 Whoopsは、PHPのエラーハンドラーフレームワークで、非常に優れたエラーインターフェイスを提供してくれます。Whoopsのお陰で、PHPが本来提供している''Uncaught Exception Handler''用の [[https://www.php.net/manual/ja/function.set-exception-handler.php|set_exception_handler()]] を書かなくても済みます。本当に pretty cool な存在です。 Whoopsは、Laravel5.5以上には既に組み込まれており、CakePHP、Zend Framework、FuelPHP、Phalcon、Slimなどに統合する方法はそれぞれのコミュニティで手順が公開されており、PHPのデバッグツールとしてのWhoopsの選定に関しては異論の余地がありません。 \\ ===== インストール ===== <code> composer require filp/whoops </code> <code> Using version ^2.7 for filp/whoops ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 1 install, 0 updates, 0 removals - Installing filp/whoops (2.7.1): Downloading (100%) filp/whoops suggests installing symfony/var-dumper (Pretty print complex values better with var-dumper available) filp/whoops suggests installing whoops/soap (Formats errors as SOAP responses) Writing lock file Generating autoload files 1 package you are using is looking for funding. Use the `composer fund` command to find out more! </code> >Note: >Eclipse起動中にパッケージを取得した場合は、プロジェクト・エクスプローラー内の[プロジェクト(apricote)]を右クリックして[リフレッシュ]を選択して下さい。また、新しく取得したパッケージのインテリセンスが有効にならない場合は、プロジェクトのビルトまたはクリーン&ビルドを行ってビルドリストの更新を行って下さい。 パッケージの取得が終わると ''composer.json'' の ''require'' に以下が追加されます。 <code javascript composer.json> { "require": { "filp/whoops": "^2.7" } } </code> \\ ===== テストプログラム ===== パッケージのテストフォルダ(''test\'')に、テスト用のコード(''whoops.php'')を作成し実行します。この例では、''DEBUG_MODE'' が ''true'' の場合はデバッグ用の ''PrettyPageHandler()''が、''false'' の場合は本番用のカスタムハンドラーが呼び出されます。''PrettyPageHandler()'' は、例外や環境変数などの障害の切り分けに必要な多くの情報を綺麗に整形して表示してくれます。詳細はコード内のコメントを参照して下さい。 <code php whoops.php> <?php require __DIR__.'/../vendor/autoload.php'; // デバッグモード有効 const DEBUG_MODE = true; // 本番モードの例外集約ハンドラーの定義 $UncaughtExceptionHandler = function ($exception, $inspector, $run) { // エラーログの出力 // Log::error($exception->getMessage()); // エラ画面の表示 var_dump($exception->getMessage()); return Whoops\Handler\Handler::DONE; }; // エラーハンドラーをデバッグモードと本番モードで切り替える $whoops = new \Whoops\Run; if(DEBUG_MODE) { $whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler); } else { $whoops->pushHandler($UncaughtExceptionHandler); } $whoops->register(); // 例外の発生!! throw new Exception("Whoops!!"); </code> === 実行結果 === デバッグモードの表示( ''DEBUG_MODE = true'' ) - //PrettyPageHandler()// [{{basic-library:whoops:whoops01.png?nolink}}] \\ 本番モードの表示( ''DEBUG_MODE = false'' ) - //カスタムハンドラー// <code> D:\usr\ws2019\apricot\test\whoops.php:10:string 'Whoops!!' (length=8) </code>
basic-library/whoops/2.7.txt
· 最終更新: 2020/04/18 10:54 by
y2sunlight
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ