[Laravel] Bladeテンプレートエンジン(2)ディレクティブ編

PHPフレームワーク「Laravel」を使用するにあたり、Viewの作成は、Bladeテンプレートエンジンを使用することが一般的です。
Bladeテンプレートエンジンを使用することでHTMLへのPHPの埋め込みが簡単におこなえるようになります。
今回は、Bladeテンプレートで使用できるディレクティブの紹介をおこないたいと思います。

ディレクティブとは?

ディレクティブとは、条件分岐処理や、繰り返し処理などの、制御をおこなうための命令構文です。Laravel(Blade)では「@」から記述します。

条件分岐処理(@if)

PHP標準のif文に相当します。
「@if」が開始で、「@endif」で終了を示します。
PHP標準のif文と同様に「@else」や「@elseif」と組み合わせて使用することもできます。
以下に例を示します。

ControllerからView変数を渡します。

'myage' => 53;

Viewでの記述例

@if($myage < 40)
<p>私は40歳未満です</p>
@elseif($myage < 70)
<p>私は40歳以上、70歳未満です</p>
@else
<p>私は70歳以上です</p>
@endif

実行結果:

私は40歳以上、70歳未満です

変数の有無を確認する(@isset)

「@isset」を使用することによって、変数の有無やnullでないかによって処理を振り分けることが可能になります。最初に紹介した「@if」と同様に「@else」と組み合わせて使用することができます。

ControllerからView変数を渡します。

'msg' => 'こんにちは';

Viewでの記述例

@isset($msg)
<p>メッセージは「{{ $msg }}」です</p>
@else
<p>メッセージはありません</p>
@endisset

実行結果

メッセージは「こんにちは」です

※msgに変数がセットされていない場合は「メッセージはありません」と表示されます。

指定回数の処理を繰り返す(@for)

PHP標準のfor文に該当します。
使用例は以下のようになります。

Viewでの記述例

@for($i=1; $i<=6; $i++)
<h{{ $i }}>こんにちは</h{{ $i }}>
@endfor

実行結果:


金曜日担当: nishida



アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム