PHP
laravel
PHP7

Collisionを導入して数分でエラーレポートを見やすくしよう

めでたくLaravel5.6がリリースされました。

変更点は当然多々あるわけですが、このバージョンでCollisionというコマンドライン上のエラーレポートハンドラがプリインストールされるようになったようです。

Laravel 5.6 adds the Collision Package for CLI Error Reporting

logo (1).png

実際に使ってみるとこんな感じで表示されます。

example.png

良いなー使ってみたいなと思い、今開発しているプロジェクトがちょうどLaravel5.5、PHP7.2で開発中なので早速試してみました。
実際に導入してみると、たしかに見やすく、どんなところでエラーになっているかがわかりやすくなっていて作業がだいぶしやすくなりました。

導入も簡単なので、Laravel5.6以前でも条件が合う人は導入したほうが良いと思います。

使える環境と導入方法をまとめておきます。

使える環境・バージョン

READMEを見てみると、Laravel ArtisanとPHPUnitをサポートしています。
Laravelじゃなくても使えるようですが、試していないです。

対応バージョンは下記。

  • PHP7.1以上
  • PHPUnit6.0以上

インストール

composerを使って入れます。簡単ですね。

$ composer require nunomaduro/collision --dev

設定

Laravel

auto-dicovery が設定されているので、インストールすれば即使えます。

Collision Is An Error Handler Framework for Console Applications

PHPUnit

下記を phpunit.xml に記載するだけ。

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

簡単ですね。

Laravel以外のフレームワーク

下記コードを実装する。(試していないですが)

(new \NunoMaduro\Collision\Provider)->register();

これでテスト書いててこけまくって辛かった状態から早く抜け出せるように…なれるかもしれません。