勉強したことのメモ

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

  関連記事

HTML / CSSで作成したコンテンツをPDFファイルで出力する方法(TCPDF)

HTML / CSSで作成したコンテンツをPDFファイルで出力させたい。以前mp ...

PHPで「ramsey/uuid」ライブラリを用いてUUIDを生成する方法

PHPでUUID(Universally Unique Identifier)を ...

PHP Simple HTML DOM Parserを使用したスクレイピング方法

PHPでスクレイピングする際、preg_match_all等を用いて必要なデータ ...

PHPでルーティング用ライブラリ「AltoRouter」の利用方法

PHPフレームワークのCodeIgniterを勉強していた際にルーティング機能が ...

PHPにて「php-ulid」ライブラリを用いてULIDを生成する方法

先日MySQLにてUUIDを発行するメモを書いたがUUID v1だと生成時間によ ...