LoginSignup
3
3

More than 3 years have passed since last update.

Laravelでコントローラーからviewへの変数の受け渡しについてメモ

Posted at

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);

と同じですね。納得。

誰かスマートな書き方をした人のコードが広まったんだろうなぁ。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3