【Laravel】Bladeビューの継承ができる@extendsディレクティブを解説します

こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。

この記事では、 PHPのフレームワークの1つであるLaravelでBladeビューを継承できる@extendsディレクティブを丁寧に説明していきます。

Bladeビューについては、こちらの記事をご参考ください。

前提条件:実行環境について

実行環境は以下の通りです。

OS Windows10
Laravelのバージョン 8.10.0

この記事では

C:\Laravel\LaravelSample

配下にLaravelのプロジェクトを作成しています。

@extendsディレクティブとは

@extendsディレクティブとは、継承するBladeビューを指定することができるディレクティブです。

@extendsディレクティブは、↓のように使います。

指定するパスは、

プロジェクト\resources\views

以降のパスを指定します。

たとえば、viewsディレクトリ直下にあるBladeビューを継承したい場合

と指定します。

viewsディレクトリ配下のworkディレクトリのtest.blade.phpを継承したい場合

と指定します。

では、次の章で実際に使ってみます。

@extendsディレクティブを解説するプログラムの概要

@extendsディレクティブを解説するプログラムは、

  • 親Bladeビュー
  • 子Bladeビュー
  • web.php

の3つを使います。

継承関係である

  • 親:parent.blade.php
  • 子供:child.blade.php

のBladeビュー合計2つ用意します。
どちらもviewsディレクトリ直下にあるとします。

web.phpには、【http://〇〇.〇〇.〇〇:8000/child】でアクセスした場合、子供のchild.blade.phpを表示させるように定義します。
子供であるchild.blade.phpにアクセスした場合、親の内容が継承できているかを確認します。

ちなみにweb.phpとは、ルーティングを定義することができるファイルです。
詳しくはこちらの記事をご参考ください。

親:parent.blade.phpのサンプルプログラム

子供:child.blade.phpのサンプルプログラム

web.phpのサンプルプログラム

実行して確認

本当に継承できているのかを実行して確認します。
Laravelでサーバーを立ち上げるコマンドは

です。
サーバーを立ち上げるコマンドの詳細な説明は、こちらの記事をご参考ください。

  • http://〇〇〇.〇〇〇.〇〇〇.〇〇〇:8000/child
    ※コマンドプロンプトに記載されているURL
  • http://localhost:8000/child

どちらかのURLにアクセスすれば、継承できていることが確認できます!

まとめ:Bladeビューで継承するときは@extendsを使ってみよう

以上がLaravelのBladeビューの継承ができる@extendsディレクティブの解説でした!

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

コメント

タイトルとURLをコピーしました