Bladeとは
LaravelにはBladeというテンプレートエンジンが用意されています。
Bladeを使うと、テンプレートを継承したり、レイアウトの一部をセクションの一部としてはめ込むことができます。
効率的にレイアウトを作成したいならBladeを使うべき!
ディレクティブとは
構文のような役割を果たすもの。テンプレートに簡単に組み込むことができる。
分岐処理を行うディレクティブ
繰り返しのディレクティブ
| ディレクティブ |
役割 |
|
@for(初期化 ; 条件; 後処理;) |
PHPのfor構文に相当するもの |
|
@foreach($配列 as $変数) |
PHPのforeach構文に相当するもの |
|
@while(条件) |
PHPのwhile構文に相当するもの |
繰り返しのディレクティブに用意されている変数 $loop
| ループ変数 |
役割 |
| $loop->index |
現在のインデックス(0~) |
| $loop->interation |
現在の繰り返し数(1~) |
| $loop->remaining |
後何回繰り返すのか |
| $loop->count |
繰り返しで使っている配列の要素数 |
| $loop->first |
最初の繰り返しかどうか |
| $loop->last |
最後の繰り返しかどうか |
| $loop->depth |
繰り返しのネスト数 |
| $loop->parent |
ネストしている場合、親の繰り返しループ変数を示す |
注意したい点
| ディレクティブ |
役割 |
| @php |
Bladeテンプレート内でPHPのスクリプトを実行する |
注意したい点
- Bladeテンプレート内でPHPスクリプトを実行できるからといって、使いまくるのはよくない。必要最小限にとどめておく必要がある。
レイアウト作成時に必要なディレクティブ
| ディレクティブ |
役割 |
| @section(名前) |
指定した名前でセクションが用意される |
| @parent |
親レイアウトのセクションを示す |
| @yield(名前) |
配置場所を示すもの |
|
@extends(Bladeのファイル名) |
レイアウトの継承設定 |
|
@component(名前) |
コンポーネントの組み込み |
|
@slot(名前) |
{{}}で指定された変数に値を設定する |
|
@include(読み込むテンプレート名,[値の指定]) |
サブビューの読み込み |
|
@each(テンプレート名, 配列, 配列から取り出したデータを入れる変数名) |
配列などから値を取り出し指定のテンプレートにはめ込んで出力する |
注意したい点
※ この記事は備忘録目的の記事です