Laravelの勉強がてらメモ。
#viewヘルパ関数
Laravelでコントローラーからviewへ変数を渡す方法としては、
$data = array(
"name" => "Tanaka",
"age" => 30,
);
return view('user', $data);
viewヘルパ関数を使用。
第1引数は、resources/viewsディレクトリ
配下のファイル名。
ちなみにresources/viewsディレクトリ
配下にディレクトリを作成し、その中にファイルを作成している場合は、ドットでつなぐ。
resources/views/admin/user.phpの場合
$data = array(
"name" => "Tanaka",
"age" => 30,
);
return view('admin.user', $data);
第2引数に配列を設定することで、ビューに変数を渡すことが可能。
#withメソッドを使用
他のやり方としては、with
メソッドで変数を渡すこともできる。
return view('admin.user')->with('name', 'Tanaka');
#compact関数を使用
compact
関数を使用すると、もっと楽に変数をビューに渡せる。
$name = "Tanaka";
$age = 30;
return view('user', compact("name", "age"));
compact関数ってLaravel特有の関数かと思いこんでましたけど、
普通にPHPの関数でした。
compact関数の結果を試しに出力。
$name = "Tanaka";
$age = 30;
var_dump(compact("name", "age"));
出力結果
array(2) {
["name"]=>
string(6) "Tanaka"
["age"]=>
int(30)
}
やってることは、
$data = array(
"name" => "Tanaka",
"age" => 30,
);
return view('user', $data);
と同じですね。納得。
誰かスマートな書き方をした人のコードが広まったんだろうなぁ。