勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

PHPでエラーメッセージを見やすくするwhoopsの利用方法

  PHP

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

  関連記事

jQueryの通知メッセージ用ライブラリ「Toastr」の利用方法
jQueryの通知メッセージ用ライブラリ「Toastr」の利用方法

あるサイトのソースコードを拝見しているとToastrというJSファイルをCDNで ...

jQueryプラグインでクリップボードにコピーする方法(clipboard.js)
jQueryプラグインでクリップボードにコピーする方法(clipboard.js)

ページ上のボタンをクリックすることで特定の文章をクリップボードにコピーしたかった ...

JavaScriptのマップ用ライブラリ「MapLibre GL JS」の利用方法
JavaScriptのマップ用ライブラリ「MapLibre GL JS」の利用方法

あるサイトをWappalyzerで調査していた際に「MapLibre GL JS ...

JavaScriptにて領収書等のテンプレートHTMLページをPDFファイル化させる方法(html2pdf)
JavaScriptにて領収書等のテンプレートHTMLページをPDFファイル化させる方法(html2pdf)

JavaScriptにてhtml2pdfというライブラリを使用することでHTML ...

表示範囲を自由に変更可能な折れ線グラフが表示できるJSライブラリ amCharts の使用方法
表示範囲を自由に変更可能な折れ線グラフが表示できるJSライブラリ amCharts の使用方法

どこかのサイトを閲覧していた際に、恐らくはJavaScriptのライブラリで描写 ...