今回はLaravelの魅力的な側面、特にBladeテンプレートエンジンの利用方法に焦点を当ててみたいと思います。この記事では、Bladeの中でif文を巧みに使いこなすテクニックBladeファイル内にif文を直接記述する方法をご紹介します。
Bladeファイル内のif文の基本
まずは基本から。Bladeテンプレート内でif文を使う方法です。条件分岐はWebアプリケーションにおいて重要な機能の一つ。この機能をマスターすることで、より動的でユーザーフレンドリーなサイトを構築できます。
数値比較のif文
数値を使ったシンプルな例から見てみましょう。例えば、ユーザーのアクションに応じて異なるメッセージを表示したい場合、次のように書きます。
@if($cnt === 1)
<p>1だよ</p>
@elseif($cnt === 2)
<p>2だよ</p>
@else
<p>1と2以外だよ</p>
@endif
- $cnt が1のとき「1だよ」と表示
- $cnt が2のとき「2だよ」と表示
- それ以外の場合は「1と2以外だよ」と表示
このコードは、特定の条件(この場合は $cnt の値)に基づいて異なる内容を表示する典型的な例です。
文字列比較のif文
次に、文字列を比較する場合。たとえば、ユーザーが選択した都道府県に基づいて異なるメッセージを表示したい場合、次のように書きます。
@if($todofuken === '東京')
<p>東京です</p>
@elseif($todofuken === '神奈川')
<p>神奈川です</p>
@else
<p>東京と神奈川以外です</p>
@endif
- $todofuken が「東京」のとき「東京です」と表示
- $todofuken が「神奈川」のとき「神奈川です」と表示
- それ以外の場合は「東京と神奈川以外です」と表示
このように、Bladeテンプレートでは文字列の比較も簡単に行えます。
データの有無をチェックするif文
データが存在するかどうかで条件分岐をしたい場合も、Bladeは非常に便利です。
@if($message)
<p>出力メッセージは{{ $message }}です。</p>
@else
<p>出力メッセージはありません。</p>
@endif
- $message にデータがある場合はその内容を表示
- データがない場合は「出力メッセージはありません」と表示
この機能を使えば、ユーザーに合わせたメッセージを簡単にカスタマイズできます。
まとめ
Bladeテンプレートエンジンは、PHP開発者にとって非常に強力なツールです。if文を使いこなすことで、より読みやすく、保守しやすいコードを書くことができます。これらの基本をマスターすることで、あなたのLaravelアプリケーションは次のレベルに進むことでしょう。
※これらのコードは、Laravelのバージョン6系で確認されたものです。Laravelはバージョンアップが活発なので、新しいバージョンでは若干の違いがあるかもしれません。常に最新のドキュメントをチェックすることをお勧めします。
※流用される場合は自己責任でお願いします。
PCトラブルは解決しましたか?
もし「会社のPCが全部遅い」「Office 365のエラーが多発する」「ネットワークが不安定」といった、調べても解決しない「会社全体」のお悩みがありましたら、ぜひご相談ください。
「Windows11 高速化」といったお悩み検索で毎月1,200人以上が訪れる、
このサイトの運営者(建設会社IT部長)が、川崎・横浜・東京城南エリアの法人様限定で「無料ITお困りごと診断」を行っています。