業務でよく使用するBladeファイルの制御構文

はじめに

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文も記載できます。

最後に

上記の制御構文の他にも色々な制御構文があり、公式ドキュメントに掲載されている制御構文の中で業務で全く使用しなかった制御構文もありますが、これらの制御構文を使いこなすことができれば開発効率も上がっていくのではないかと思います。


--------------------------
システム開発のご要望・ご相談はこちらから
--------------------------
【この技術ブログを読んだエンジニアの皆様へ】
カサレアルブログをお読みいただき、ありがとうございます!

私たちは、常に新しい技術に挑戦し、ユーザーのニーズに応えるサービスを提供しています。
もし、当社の技術への情熱や、会社・チーム・社員の雰囲気に共感いただけたなら、
ぜひ私たちと一緒に働きませんか?
現在、株式会社カサレアルでは事業拡大に伴い、新たな仲間となるエンジニアを積極的に募集しています。

少しでも興味をお持ちいただけましたら、まずは弊社のことを知っていただけると嬉しいです。
▼採用サイト
https://www.casareal.co.jp/recruit/career
▼社員インタビュー
https://hrmos.co/pages/casareal/jobs/0000016
▼エンジニアの仲間になる! エントリーはこちらから
https://hrmos.co/pages/casareal/jobs

皆様のエントリーを心よりお待ちしています!

October CMSのMedia managerでユーザーによって異なるS3バケットを利用する
October CMSの並び替え画面で、取得するレコードを絞ったり、表示する内容を変更する

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

コメント ※

名前 ※

メール ※

サイト