Edited at

Laravel DebugbarをAPI開発でも使う

More than 3 years have passed since last update.

Laravelのデバッグツールとしては、Laravel Debugbarがよく使われている。ただ、これは情報をHTML上に描画しているため、API開発でレスポンスがJSONとなる場合などは表示されなくなる。

そこで、Chrome/Firefox拡張であるClockworkを導入することによって、レスポンスがHTML以外の場合でもDebugbar相当の情報を出力できるようにする。


実行環境


  • Google Chrome 53

  • Laravel 5.3


Laravel Debugbarの導入

まだDebugbarを導入していない場合は、barryvdh/laravel-debugbarを参考にインストールしてHTML上で表示できるようにしておく。


Clockworkの導入


ブラウザ拡張のインストール

Chromeの場合は、Chromeウェブストアからインストールする。

Firefoxの場合は、Add-ons for Firefoxからインストールする(要Firebug)。


Composerパッケージのインストール

composer require "itsgoingd/clockwork": "~1.12"


アプリケーションのConfig設定

Service Providerを以下の通り追加する。


config/app.php

    'providers' => [

Clockwork\Support\Laravel\ClockworkServiceProvider::class,
],


Middlewareの設定

バージョンによっては$middlewareの場合があるので適宜読み替える。


app/Http/Kernel.php

    protected $middlewareGroups = [

'api' => [
\Clockwork\Support\Laravel\ClockworkMiddleware::class,
],
];


DebugbarのConfig設定

最後にDebugbar側のConfigでClockworkを有効にする。

HTML上の描画を止めたい場合は、injectをfalseにしておく。


config/debugbar.php

    'clockwork' => true,

'inject' => false,


以上が最低限の設定だが、これでブラウザのデバッグツールに以下のようなLaravelのデバッグ情報を表示するタブが追加されるはずだ。

laravel_clockwork.png

なお、Clockworkの詳細についてはitsgoingd/clockworkを参照されたい。