コマンドライン上のエラーメッセージを コードプレビュー付きて表示してくれる、 PHP用の エラーハンドリング フレームワーク「collision」の紹介です。
 

collision とは? 

コマンドライン上で ファイルを実行 & エラーがアウトプットされると、下記のような画面が表示されます。

* 一般的なエラー表示


PHPUnitなどに見られるモダンなエラー表示は、 下のように 色付きで エラーが表示されます。

* 色付きでエラー表示させた場合

 
 そして、" collision " を導入すると、下記のように コード付きで、より詳細に エラーが表示されるようになります。

* collisionを導入してエラーを表示


collision のインストール

 collision は プロジェクトルート上から ' composer  ' コマンドを使ってインストールします。なお、インストールされている PHP のバージョンが ' 7.1 ' 以上の必要があります。

# プロジェクトルートから composer コマンドを使ってインストール
composer require nunomaduro/collision --dev


collision を使う準備 

 collision はデフォルトで Laravelフレームワーク の ' artisan ' コマンド、PHPUnitがサポートされています。

Laravel 以外で使う場合は下記の ' Provider ' クラスの ' register ' メソッドを実行します。

// Laravelフレームワークでは必要ありません
(new \NunoMaduro\Collision\Provider)->register();


 また、collisionを PHPUnitの Unitテスト実行時に適応させるには、' phpunit.xml ' の、 ' phpunit ' タグ内に下記のコードを追加します。

<listeners>
    <listener class="NunoMaduro\Collision\Adapters\Phpunit\Listener" />
</listeners>


 以上で導入は完了です。正しく collisionが導入されていると、PHPUnitのテスト実行時に テストが通らないと下のように表示されるようになります。

collisionを適応させて、テストが通らなかった時のエラーメッセージ


Summary

 以上が collision の紹介でした。PHPのバージョンが ' 7.1 以上 ' という制約がありますが、最新の環境で開発しているプロジェクトでは重宝しそうです。

GitHub : nunomaduro/collision

 

この記事のカテゴリ

プログラミング

この記事のタグ

PHP , 開発ツール , Laravel

Socialシェアボタン

スポンサーリンク