- 1. 概要
- 2. テンプレートファイル読込
- 3. 多重インクルード
- 4. 引数
1. 概要
「.blade.php」から、さらに「.blade.php」をテンプレートファイルとして読み込むことができます。
本ページは、下記のサイトを参考にさせていただきました。
「Laravel @include したファイルで変数の値を表示させる方法」
2. テンプレートファイル読込
「a.blade.php」内に
@include('b')
と記述することによって、その場所に「b.blade.php」を読み込んで、展開することができます。
ファイルは
resources/views
からの相対パスになっていますので
resources/views/templates/c.blade.php
を読み込む場合は
@include('templates/c')
と記述します。
気を付けなければいけないのは、サブディレクトリ内の「.blade.php」からテンプレートを呼び出す場合も、テンプレートファイルのディレクトリ指定は、相対ディレクトリでなく「resources/views」からの(ここの部分は相対になりますが)絶対ディレクトリ指定になります。
3. 多重インクルード
インクルードファイルの中で、さらに他の「.blade.php」を読み込むことができるか、やってみました。
支障なく、インクルードできるようです。
4. 引数
インクルードの際に
@include('テンプレート', [ 'key' => 'value' ])
の形式で引数を渡すことで、テンプレート内に
{{ $key }}
の形式で記述して、展開させることができます。
参考サイトでは、展開されないように書いてありましたが・・・少なくともバージョン「8.50.0」では、展開されました。
|