はじめに
Laravel を使って Web アプリケーション開発を学びながら、コントローラから Blade テンプレートを返す方法と、テンプレートに変数を渡す方法についてまとめます。
書こうと思ったきっかけ
個人的に PHP のキャッチアップをしたくて、勉強している初学者による備忘録としてください。
参考文献
内容
1. HelloController を修正する
まず、コントローラでビューを返すように書き換えます。
ファイル: src/app/Http/Controllers/HelloController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HelloController extends Controller
{
public function index()
{
// Bladeビュー「hello」に 'name' を渡す
return view('hello', ['name' => '太郎']);
}
}
view('hello')
はresources/views/hello.blade.php
を指します。
2. Bladeファイルを作成する
テンプレート(HTML+埋め込み変数)を用意します。
ファイル: src/resources/views/hello.blade.php
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>Helloページ</title>
</head>
<body>
<h1>こんにちは、{{ \$name }}さん!</h1>
</body>
</html>
{{ $name }}
はPHPで渡した['name' => '太郎']
によって「こんにちは、太郎さん!」と表示されます。
3. ルーティングの確認(既にOKならスキップ)
ファイル: src/routes/web.php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\HelloController;
Route::get('/hello', [HelloController::class, 'index']);
4. Laravelキャッシュクリア(念のため)
コンテナ内で以下を実行しておくと安心です:
make cache-clear
5. 確認
ブラウザで以下のURLにアクセス:
http://localhost:8080/hello
表示結果:
まとめ
この手順で Laravel のコントローラから Blade テンプレートを返し、変数を渡す基本的な仕組みを学ぶことができました。
個人の備忘録程度の走り書きとなっておりますが、温かい目で見守っていただければ幸いです。
次はフォーム送信やレイアウト共通化、データベースとの連携など、さらに実用的な機能にチャレンジしていきたいと思います...!