【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ライフを!

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次