こんばんは、いまだに風邪が治らないのるぼるのんです。
さて、今回は久しぶりのLaravel記事。Laravel5.7の新機能、dump-server機能を試してみます。
公式曰く
「Laravel5.7では、Marcel Pociotによるパッケージにより、Symfonyの
dump-server
コマンドを統合しました。利用開始するには、dump-server
Artisanコマンドを起動します。
1 <span class="hljs-attribute">php</span> artisan dump-serverサーバを起動すると、すべての
dump
呼び出しはブラウザの代わりに、dump-server
コンソールウィンドウに表示されます。それにより、HTTPレスポンス出力をごちゃごちゃにしなくても、値を確認できます。」
とのこと、早速やっていきましょう。
今回使うデータはこんな感じ。商品テーブル(名前、価格(100~10000円)、作成日、更新日)。
laravel factoryを使ってさっと準備しました。
一件取得してコンソールに表示
コントローラーを作るのもなんだかなあ、て感じなので、make:authしてHomeController::index()に記述していきます。
1 |
php artisan make:auth |
1 2 3 4 5 6 7 8 9 10 |
/** * Show the application dashboard. * * @return \Illuminate\Http\Response */ public function index() { dump(Product::orderBy('price', 'acs')->first()); // ランダムで入力したデータで、もっとも高価なものを確認してみます return view('home'); } |
コンソール上の出力はこんな感じ。
id=55の9969円がもっとも高いようです。最初からattributeやoriginalを開いて表示してくれるのは、さっと確認できていい感じですね。
でもこれだとall()とかで、大量のデータを取得した時なんかはちょっと見辛そう、、、
大量のデータを取得してコンソールに表示
1 2 3 4 5 |
public function index() { dump(Product::all()); //全件取得してみます return view('home'); } |
データの後半が潰れてしまいました。表示できる件数に制限があるのか、文字数制限があるのかな?まあでも流石に90件近くのデータを取得して確認する、とかはあまりやらないので問題ないでしょう。
ちなみに、attribute, originalも閉じて表示されて、展開出来ませんでした。多数のデータの表示は想定されていないようです。
Requestを表示させてみた
1 2 3 4 5 6 7 8 9 10 |
/** * Show the application dashboard. * * @return \Illuminate\Http\Response */ public function index(Request $request) { dump($request); //リクエストを表示してみます return view('home'); } |
情報量が多すぎる。。。自動展開があだになっているパターンですね。インデントが揃っているのは良いのですが、情報量が多すぎるので結果見辛いですね。。。
結局
使用してみた感想ですが、大量のデータを表示させる、というよりも取得した一件のデータや、Auth:user()、$request->all()など、ある程度限られた情報を素早く確認する、というのを目的に使用する使い方があっていると感じました。
画面に小さいターミナル開いておくとか、、、その辺りは状況によって使い分けてください。個人的にはdump(), dd()で十分かな。
ちなみにdd()を使用すると、、、
1 2 3 4 5 |
public function index(Request $request) { dd(Product::find(55)); //ddすると、、、 return view('home'); } |
ブラウザ画面は真っ白。dump()はコンソールで + exitが処理された感じになります。(まあ、dd()の内容的にもその通りなのですが、、、)
dd()の使い易さが死んでいるような気がするのは私だけですかね、、、
使ってる方、便利な使用方法を教えてください、、、
コメントを書く