【Laravel入門】まだ使ってないの!?超便利なLaravelDebugbarを使おう

こんにちは!エンジニアのオータケです!

みなさんはLaravelで変数の値の確認やデバッグ目的のメッセージ表示など、どういった方法で行っていますか?

また、Laravelではどういうやり方がオススメなのか知りたい方にはこの記事必見です!

この記事ではLaravelDebugbarというライブラリを導入することで変数内の値やその他様々な情報をブラウザ上で操作しながら確認することができるんです!

本記事を読んでいただくことで

[基本]LaravelDebugbarとは?
[基本]基本的な使い方
[実践]LaravelDebugbarが動かない?

を理解することができます!

開発効率にこだわる人にはおすすめです、絶対に読んでいってくださいね!

LaravelDebugbarとは?

LaravelDebugbarとは変数内の情報やプログラムのデバッグを楽にしてくれる素晴らしいツールです。

次の画像を見ていただくとわかりますが、画面下部にDebugbarが表示されているのがわかるかと思います。

laravel_debugbar_1

Debugbarを使うことで面倒な値確認などがブラウザ上で簡単にできるようになるんです!

laravel_debugbar_2

導入してみよう

では実際にLaravelDebugbarを導入してみましょう!

導入はとても簡単です。

composer require barryvdh/laravel-debugbar

たった、これだけです。

早速実行してブラウザでアクセスしてみましょう。

artisan serve

実行結果:
laravel_debugbar_2

このように画面下部にバーが出ていれば成功です!

もし、本番環境で表示にしたくなければ.envファイルAPP_DEBUGfalseにするとよいでしょう。

プログラム上で表示・非表示を切り替えたい場合は次のようにします。

非表示したい場合

\Debugbar::disable();

表示したい場合

\Debugbar::enable();

使ってみよう

では実際に使ってみましょう。

サーバーにリクエストが有った際にリクエストの中身(変数)を表示してみたいと思います。

DebugbarのRequestという項目を確認してください。

laravel_debugbar_3

このタブではどういうリクエスト内容でアクセスしているかの変数が一通り確認することができます。

では次に自分が定義した変数や配列の中身を見たい場合はどうすればよいでしょうか?

まず変数の中身を覗いてみたいのですがどうするとよいでしょうか?

そのためには配列内容を表示するプログラムを記述する必要があります。

早速みてみましょう、次のような形です。

$value = [10, 30, 50, 100];
\Debugbar::addMessage($value);

実行結果:
laravel_debugbar_4

addMessageメソッドを使うことで、このようにメッセージ欄に文字が表示されるようになりました。
(他にもinfoメソッドやerror,warningメソッドなどがあります。)

では、次に例外が発生した場合に表示されるエラーメッセージを見てみましょう。

ここでは、try中に意図的に例外を発生させています。

Route::get('/', function () {
    $exception = new Exception('Error Hoge Hoge');
    try {
        throw $exception;
    } catch(Exception $e) {
        \Debugbar::addThrowable($e);
    }
    return view('welcome');
});

実行結果:
laravel_debugbar_5

このようにエラーメッセージとともにどの部分で例外が発生しているかのコードのプレビューも表示してくれる素晴らしい機能付きです!

では最後に、データベース関係の処理について見てみましょう。

やっぱり動作が重くなったりする原因は無駄なSQLの発行であったりモデルのデータの使い方に問題があるなどデータベース関係の処理が影響してくると思います。

Debugbarを使うことでどんなSQLが実際に発行されているかが一目瞭然になります。

では早速サンプルコードを見てみましょう!

Route::get('/', function () {

    $user = App\User::find(1);

    return view('welcome');
});

ユーザーモデルから一人分の会員データを取得する処理を書いています。

Debugbarで実際に次の画像を見ていただくと、SELECT文が発行されていることがわかりますよね?

laravel_debugbar_6

このように実際にどんなSQLが投げられているのかもわかってしまうスグレモノなんです!

まとめ

いかがでしょうか?

この記事を読んでいただければDebugbarを入れない理由がないですよね!?

今すぐ、今すぐ導入しましょう!

そして開発効率をあげて今すぐ仕事を終わらせましょう!

では皆さんまた別の記事でお会いしましょう。

よりよりLaravelライフを!

Writer

オータケ

フリーランス

30歳、フリーランスプログラマ。中学の頃よりプログラミングに興味を持ちゲーム開発やWebサイト構築などを経験
新しいフレームワークやライブラリに興味があり革新的な機能が含まれていると泣いて喜ぶ。

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI ENGINEER Plus

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら