3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?