Laravelのbladeで変数を定義する

code

Laravelのbladeで変数を定義したいときがあります。

HTMLの構造はほとんどで、値だけ変えたい時などです。

例えば、元のコードは以下のような形だとします。

説明のためにHTMLの構造はシンプルにしています。

@if (isset($somethingValue))
    <div>{{ $somethingValue }}</div>
@else
    <div>Not Defined</div>
@endif

三項演算子を使う方法もありますが、個人的には可読性が落ちると感じています。

<div>{{ isset($somethingValue) ? $somethingValue : 'Not Defined' }}</div>

そこでblade内で変数を定義します。

@php
$newValue = $somethingValue;
if (empty($newValue)) {
    $newValue = 'Not Defined';
}
@endphp

<div>{{ $newValue }}</div>

コード量は増えましたが、HTMLにロジックを持ち込まなくて良くなりました。

さらに複雑になるようであれば、viewヘルパーを使うとスッキリするでしょう。

この記事について詳しく相談したい方へ

記事の内容に関するご質問やご相談がございましたら、お気軽にお問い合わせください。
専門スタッフが丁寧にサポートいたします。

相談無料 営業電話なし 土日対応
今月の見積もり受付、残り3社様(6月限定4社様)
無料で相談してみる
先月32件のご相談