Laravel、ビューに多くの変数を渡す
ビューにはwith()で、値を渡せます。
もしくはビューを作成する時に、一緒に渡せます。
View::make('ビュー名', array('user' => $user );
withメソッドが存在していたり、ドキュメントのサンプルが上記の形態で書かれていたりするので、すっかりそういうものだと思い込んでしまっていました。
構造本読んでいたら、思わずアッと思いました。渡すべき値が全部変数に入っているなら、compactが使えるんじゃないかと。これを使えば、withをダラダラ書くことも、配列で指定する手間も省けますしね。
$user = User::all(); $date = '30年6月19日'; $name = Auth::user()->username; $title = 'ユーザーレポート'; return View::make( 'user.report', compact('user', 'date', 'name', 'title') );
目からウロコです。思い込みは恐ろしいですね。全然思いつかなかった。コアではcompact結構使われているのにです。まあ、チュートリアル書くときは、読みやすさが犠牲になるので使いませんが、実際のコードでは書きやすさが上がるので、こちらも使い勝手がいいですね。