Laravel7 レイアウトを共通化する手順

Laravel7 レイアウトを共通化する手順

Laravel7でBladeテンプレートで、レイアウトを共通化する手順を記述してます。

環境

  • OS windows10 pro 64bit
  • Composer 1.10.5
  • PHP 7.4.5
  • MariaDB 10.4.12
  • Laravel Framework 7.6.2

※windows10に Laravel のインストールはこちら
※windows10に Composer のインストールはこちら
※windows10に PHP のインストールはこちら
※windows10に MariaDB のインストールはこちら

コントローラー作成

「LayouController」という名前でコントローラーを作成します。

app/Http/Controllers/ LayoutController.phpが生成されているので、
下記のように編集しておきます。

共通レイアウト作成

resources\views\配下にlayoutフォルダを作成し「layout.blade.php」を作成します。
@yield(‘content’)については後述してます。

ビュー作成

次にlayoutフォルダ内に「index.blade.php」を下記の内容で作成します。

@extends(‘layout.layout’)

利用するレイアウトを指定します。ここではlayoutフォルダ配下の layout.blade.php を利用しているので ‘layout.layout’ と指定してます。

@section(‘content’)
@endsection

共通レイアウトで指定した@yield(‘content’)に埋め込まれる範囲を指定してます。

@yield(‘content’)

sectionの内容を埋め込んで表示する箇所です。

ルーティング追加

アクセスするURLを設定するため、ルーティングを記述します。
routesフォルダ配下にある「web.php」に下記を追加します。

確認

ブラウザから http://localhost:8000/layout にアクセスしてみて、共通レイアウトである「 layout.blade.php 」が使用できているが確認できます。