PHPでエラーメッセージを見やすくするwhoopsの利用方法
PHPのエラーメッセージが見づらい。これはこういうもの、と諦めていたがCodeigniterのデバッグモードだと見やすい表示にしてくれるので、バニラPHPでもライブラリか何かを導入すればいいんじゃないかと思った。調べたところwhoopsというエラーハンドラーフレームワークが良いらしい。以下に導入方法をメモ。
whoops
公式サイト
https://github.com/filp/whoops
インストール方法
以下コマンドでインストールする。
composer require filp/whoops
使い方
ソースコード
require 'vendor/autoload.php'; $whoops = new \Whoops\Run; $whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler); $whoops->register();
共通ファイルとかの頭の部分で上記ソースコードを書いておくと良さそう。
出力例
バニラPHPの場合
Fatal error: Uncaught Error: Class 'TCPDF' not found in /vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Tcpdf.php:33 Stack trace: #0 /vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Tcpdf.php(57): PhpOffice\PhpSpreadsheet\Writer\Pdf\Tcpdf->createExternalWriterInstance() #1 /var/www/hoge/index.php(49): PhpOffice\PhpSpreadsheet\Writer\Pdf\Tcpdf->save() #2 {main} thrown in /vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Tcpdf.php on line 33
上記のように一行でずらっと表示されるため見づらい。
whoopsの場合
見た目がリッチになり、尚且つ赤枠部分をクリックするとエラーに対応したソースコードが右側に表示され見やすい(原因を追いやすい)。
関連記事
-
-
PHPで「ramsey/uuid」ライブラリを用いてUUIDを生成する方法
PHPでUUID(Universally Unique Identifier)を ...
-
-
PHP Simple HTML DOM Parserを使用したスクレイピング方法
PHPでスクレイピングする際、preg_match_all等を用いて必要なデータ ...
-
-
phpQueryを利用したjQueryライクなスクレイピング方法
phpQueryというライブラリを使用することでjQueryのセレクタ指定のよう ...
-
-
PHPでデータベースを取り扱いやすくなるORMライブラリ「idiorm」の利用方法
Codeigniterでデータベースを取り扱う際にクエリビルダクラスを用いて可読 ...
-
-
PHPでExcelシートを出力する方法(PhpSpreadsheet)
PHPでエクセルシートを出力させたい。以前はPHPExcelを利用していたが現在 ...