はじめに
Laravelでは、MVCモデルのうちのViewの部分を作成するために、HTMLファイルではなくBladeファイルを使用します。Bladeファイルの拡張子は、.blade.phpになりresources/viewsフォルダの中に設置します。基本的には、BladeファイルもHTMLと同じようにHTMLの構文を記載していくのですが、BladeファイルではBladeファイル特有の制御構文を記載することができます。
今回は、私が業務でBladeファイルを作成していたなかで、特に使用することが多かった制御構文を紹介したいと思います。(今回紹介する以外の制御構文もありますので興味のある方は下記の公式ドキュメントをご参照ください)
参照URL
https://readouble.com/laravel/5.5/ja/blade.html
制御構文
@if
Bladeファイルにおけるif文になります。
主に表示の切り替えをしたい時などに使用します。例えば、Eコマースサイトにて商品の在庫があるときとない時でHTMLの表示する内容を切り替えたいといったときです。記載方法は、下記のように記載します。
// (例)Controller側から渡ってきた商品情報を格納した変数の在庫判定 @if($product->stock == 0) // 在庫が存在していた場合 {{ $product->name }} {{ $product->price }} @else // 在庫がなかった場合 在庫がありません。 @endif
私がBladeファイルを作成するにあたって制御構文の中で1番使用したのがこちらの@ifだと思います。
@foreach
Bladeファイルにおけるforeach文になります。
Controller側から配列で渡ってきた値を表示させたいときに使用します。
例えば、Eコマースサイトにて商品一覧を表示させたいといったときです。記載方法は下記のように記載します。
// (例)Controller側から渡ってきた商品一覧を表示していく @foreach ($products as $product) // 商品名 {{ $product->name}} // 価格 {{ $product->price}} @endforeach
もちろん@foreach文の中にHTML文も記載できます。
最後に
上記の制御構文の他にも色々な制御構文があり、公式ドキュメントに掲載されている制御構文の中で業務で全く使用しなかった制御構文もありますが、これらの制御構文を使いこなすことができれば開発効率も上がっていくのではないかと思います。