ビューを返す — コントローラから画面へ
コントローラからBladeビューを返し、変数を画面に渡して表示する基本を学びます。
広告枠(記事上)— 本番では AdSense 広告が表示されます
ここまでは文字列を返すだけでしたが、実際のWebアプリではHTMLの画面を返します。Laravel では ビュー を使って画面を組み立てます。ビューのファイルは resources/views/ に置き、.blade.php という拡張子を付けます。
ビューファイルを作る
resources/views/users.blade.php を作成し、次のように書きます。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>ユーザー一覧</title>
</head>
<body>
<h1>ユーザー一覧</h1>
</body>
</html>
コントローラからビューを返す
view() ヘルパに ビュー名(拡張子 .blade.php を除いた名前)を渡します。
public function index()
{
return view('users');
}
/users にアクセスすると、users.blade.php の内容が表示されます。
ビューに変数を渡す
view() の第2引数に配列を渡すと、ビュー側でその変数を使えます。
public function index()
{
$users = ['田中', '佐藤', '鈴木'];
return view('users', ['users' => $users]);
}
ビュー側では {{ }} で変数を表示します。@foreach でループも書けます。
<h1>ユーザー一覧</h1>
<ul>
@foreach ($users as $user)
<li>{{ $user }}</li>
@endforeach
</ul>
{{ }} は値を自動でHTMLエスケープするため、安全に出力できます。
サブディレクトリのビュー
ビューを resources/views/users/index.blade.php のように整理した場合は、ドット記法で指定します。
return view('users.index');
まとめ
- ビューは
resources/views/に.blade.phpで置く。 - コントローラから
view('ビュー名')で画面を返す。 view('名前', ['key' => $value])で変数を渡し、ビューでは{{ $key }}で表示。{{ }}は自動エスケープされ安全。サブディレクトリはドット記法(users.index)。- 次の章では、この Blade テンプレート を本格的に学びます。
広告枠(記事下)— 本番では AdSense 広告が表示されます