※この記事は「2021年5月1日」に更新しました。
前回は、View と Blade について、軽く紹介しました。
今回は、Blade を使って、実際にコーディングしていこうと思います。

Blade を使ったコーディング
それでは、実際に Blade を使って、簡単なページを作成したいと思います。
まずは、resouces\viewsフォルダ内に layouts というフォルダを試しに作ってみます。
次に、そのフォルダの中に base.blade.php というファイルを作成します。
Blade のテンプレートは、〇〇.blade.php という名前になります。
前回、紹介しましたが、Blade には継承という概念もあるので、このページを親ページとして作成します。
<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>@yield('title')</title>
</head>
<body>
@yield('content')
</body>
</html>
続いて、子ページを作成します。
resouces\viewsフォルダの直下に top.blade.php ファイルを作成します。
ソースコードは以下の通りです。
@extends('layouts.base')
@section('title', 'TOPページ')
@section('content')
<h1>子ページ(TOPページ)</h1>
<p>親ページを参照して制作されています。</p>
@endsection
Blade の構文が色々書かれていると思いますが、まず @extends で親ページを継承しています。
続いて、@section ですが、2通りの書き方があります。
1つ目は、下記のような書き方です。
@section('title', 'TOPページ')
この方法は、単純にテキストや数字をセクションに表示させるときに便利です。
2つ目は、下記のような書き方です。
@section('content')
セクションの内容
@endsection
@section と @endsection に囲まれた部分が一つのセクションとして定義されます。
それでは、子ページが完成したら、実際にブラウザで表示させてみます。
これまでの復習になりますが、ルート情報を追加しましょう。
routesフォルダの web.php に以下の内容を追加します。
Route::get('top', function () {
return view('top');
});
ブラウザに表示させるとこんな感じです。
ちゃんと親ページを継承して、子ページが表示されていることがわかります。
@yield を配置した部分は、引数に対応するセクションが挿入されています。
最後に
いかがでしょうか。
前回も Blade の構文は紹介したのですが、サンプル的なものがなかったのでわかりにくいかと思い、復習もかねて簡単なページを作ってみました。
同じようなつくりのページを量産するときに Blade を使えば、効率的なコーディングができるので上手に活用していきましょう。

