web-dev-qa-db-de.com

Ternär in Laravel Blade

Auf der Suche nach einem ternären Operator für Blade-Vorlagen

@if(Auth::check()) ? yes : no @endif

Kann nicht scheinen, es zum Funktionieren zu bringen, das funktioniert

@if(Auth::check()) yes @else no @endif

angenommen, in diesem Beispiel steckt nicht viel, nur Neugier.

49
LeBlaireau

Sie können es mit {{ }} Verwenden.

{{ Auth::check() ? 'yes' : 'no' }}
81
Marwelln

Das funktioniert:

{{ Auth::check() ? 'yes' : 'no' }}
47
Laurence

Ich weiß, dass diese Frage vor einiger Zeit gestellt wurde, aber das kann jemandem helfen.

Sie können dies jetzt in Laravel 5.

{{ $variable or "default" }}

Laravel 5 Blade-Vorlagen

Laravel 5.2 Blade Template

25
Bryce

darüber hinaus ist hier eine nette Verknüpfung ?:, wenn Sie den Wert einer Variablen drucken müssen oder wenn der Standardtext leer ist

{{ $value ?: 'Default Value' }}
14
vitr

Für Laravel 5 + php7 sollten Sie den Null-Koaleszenz-Operator verwenden, wie in this Laravel News article erläutert, also:

{{ $value ?? "Fallback" }}

Vor dem Null-Koaleszenzoperator hat Blade dasselbe Problem mit dem Operator "oder" behoben. Dieser erlaubt einen Standardwert, wenn der erste Wert nicht festgelegt ist, getrennt durch ein "oder".

5
Chad