勉強したことのメモ

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

Composer無し&ファイル1枚でPHPのエラーメッセージ画面をリッチにするライブラリ「PHP Error」の利用方法

  PHP

先日PHPのエラーメッセージを見やすくするwhoopsの利用方法をメモしたが導入の際にComposerが必要でレンタルサーバとかだと対応が面倒。そこでComposer無し且つファイル1枚で同じような表示を行えるPHP Errorというライブラリを見つけたので導入方法をメモ。

 

PHP Error

公式サイト

https://github.com/JosephLenton/PHP-Error

導入方法

公式サイトのこちらのページからphp_error.phpをダウンロードし適当なディレクトリにアップロードする。

 

使い方

ソースコード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
require( 'php_error.php' );
\php_error\reportErrors();
require( 'php_error.php' ); \php_error\reportErrors();
require( 'php_error.php' );
\php_error\reportErrors();

共通ファイルとかの頭の部分で上記ソースコードを書いておくと良さそう。

出力例

ページ下部の部分をクリックするとエラーに対応したソースコードが上部に表示される。

 

オプション

オプションについて

以下リファレンスを参照する。

https://github.com/JosephLenton/PHP-Error/wiki/Options

noticeやwarningエラーを表示したくない場合

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$options = array(
'error_reporting_on' => E_ALL & ~ E_DEPRECATED & ~ E_USER_DEPRECATED & ~ E_NOTICE & ~ E_WARNING
);
\php_error\reportErrors($options);
$options = array( 'error_reporting_on' => E_ALL & ~ E_DEPRECATED & ~ E_USER_DEPRECATED & ~ E_NOTICE & ~ E_WARNING ); \php_error\reportErrors($options);
$options = array(
    'error_reporting_on' => E_ALL & ~ E_DEPRECATED & ~ E_USER_DEPRECATED & ~ E_NOTICE & ~ E_WARNING
);
\php_error\reportErrors($options);

 

whoopsとの比較

  • 2012年に作成されており、その後アップデートされていない模様
  • 主観ではあるがwhoopsより見た目が洗練されていない(バニラPHPよりは全然良い)
  • whoopsより情報量が少ない

 

所感

デメリットは多いもののComposer無し且つファイル1枚で導入可能というのは非常にありがたい。Composer利用不可環境だとPHP Errorを使っていきたいと思う。

 - PHP

  関連記事

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

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

PHPでGoogle翻訳を手軽に扱えるライブラリ「google-translate-php」の利用方法

サイト内で一部テキストのGoogle翻訳を行いたい。ただ、Google Clou ...

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

PHPのエラーメッセージが見づらい。これはこういうもの、と諦めていたがCodei ...

PHPのバリエーションライブラリ「Valitron」の導入及び利用方法

フォーム等の入力内容チェックをPHP側で行う際、現状は素のPHPで書いているけど ...

PHPでデータベースを取り扱いやすくなるORMライブラリ「idiorm」の利用方法

Codeigniterでデータベースを取り扱う際にクエリビルダクラスを用いて可読 ...

S