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

LINEで送る
Pocket

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

オータケ

オータケ

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

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説