LaravelのBladeテンプレートエンジンでの分岐をまとめました。
@ifディレクティブ
どこでも出てくる条件分岐です。
条件が真の場合に処理が実行されます。
@if ($var == 1)
{{ '$varが1の場合' }}
@endif
@if ($var == 1)
{{ '$varが1の場合' }}
@else
{{ '$varが1以外の場合' }}
@endif
@if ($var == 1)
{{ '$varが1の場合' }}
@elseif ($var == 2)
{{ '$varが2の場合' }}
@else
{{ '$varが上記以外の場合' }}
@endif
@unlessディレクティブ
@ifディレクティブの逆。
条件が偽の場合に処理が実行されます。
@unless ($var == 1)
{{ 'unless01:$varが1以外の場合' }}
@endunless
@unless ($var == 1)
{{ 'unless02:$varが1以外の場合' }}
@else
{{ 'unless02:$varが1の場合' }}
@endunless
@issetディレクティブ
変数が宣言されている、かつNULLでない場合、処理が実行されます。
elseも使えます。
@isset($var)
{{ 'isset01:$var変数が宣言されている、かつNULLでない場合場合' }}
@endisset
@isset($var)
{{ 'isset02:$var変数が宣言されている、かつNULLでない場合場合' }}
@else
{{ 'isset02:$var変数が宣言されていない、またはNULLの場合' }}
@endisset
@emptyディレクティブ
変数が宣言されていない、null,”,0のいずれかの場合、真となり処理が実行されます。
elseも使えます。
@empty($var)
{{ 'empty01:$var変数が宣言されていないか、null,'',0の場合' }}
@endempty
@empty($var)
{{ 'empty02:$var変数が宣言されていないか、null,'',0の場合' }}
@else
{{ 'empty02:$var変数が宣言されていて、null,'',0以外の場合' }}
@endempty
@hasSectionディレクティブ
セクション存在チェックをします。
elseは使えません。
@hasSection ('content')
{{-- contentセクションが存在する場合 --}}
@endHasSection
@auth・@guestディレクティブ
認証チェックができるディレクティブです。
詳しくは別記事で認証処理と合わせて説明します。