2017-03-23 5 views
3

Laravel 5.4+は、次のような構造のコンポーネントを可能:のように呼ばれているLaravel 5.4+ブレードの新しいコンポーネントのデフォルト値は?

<div class="alert alert-{{ $type }}"> 
    <div class="alert-title">{{ $title }}</div> 
    {{ $slot }} 
</div> 

@component('alert', ['type' => 'danger']) 
    @slot('title') 
     oh no 
    @endslot 
    Foo 
@endcomponent 

は、渡された変数のデフォルト値を設定するための速記またはブレード・マーカーはありますか?

たとえば、私が「タイプ」を渡さないと、私はundefined variableエラーになります。私は次のようなことができます:

しかし、特に変数が複数の場所で使用されている場合、上記は冗長です。

答えて

7

私はそう思わないでしょう。

ブレードには、isset()コール(see docs)をラップするor演算子が含まれているといえます。

<div class="alert alert-{{ $type or 'default' }}"> 

PHP 7を実行している場合は、これはNull coalescing operatorのケースです。

<div class="alert alert-{{ $type ?? 'default' }}"> 

両方ともあなたのコールサイトをタイダーにします。

+0

うんうれしい、私はそれが好きです。乾杯 – Chris

関連する問題