Wie wird ein Standardwert zurückgemeldet, wenn der Wert nicht gesetzt ist?
Ich würde gerne wissen, was wäre der beste Weg, um einen default-Wert, falls der angegebene Wert ist nicht gesetzt. Ich habe Folgendes in einem blade-Datei (ich kann nicht garantieren, dass das der Schlüssel ist, hängt von einer Vielzahl von Faktoren).
{{ $foo['bar'] }}
Ich würde wissen, ob das folgende ist der beste Weg, um darüber zu gehen,
{{ (isset($foo['bar']) ? $foo['bar'] : 'baz' }}
oder gibt es eine bessere Möglichkeit, dies zu tun?
Dank 🙂
InformationsquelleAutor der Frage paquettg | 2013-08-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit Laravel 4.1+ können Sie einfach tun Sie es wie folgt:
Es ist das genau gleiche wie:
Edit: On a side note, oben wird unterstützt in PHP 7+, mit ??
InformationsquelleAutor der Antwort Jazerix
PHP 5.3 ist ternäre Verknüpfung syntax funktioniert in Blade-templates:
Funktioniert es nicht mit undefinierten top-level-Variablen, aber es ist großartig für den Umgang mit fehlenden Werten in arrays und Objekte.
InformationsquelleAutor der Antwort joemaller
Empfehle ich die Einstellung der Standard-Wert in Ihrem controller, anstatt einen work-around in Sicht.
Dies ist der beste Weg, denn es hält die Logik aus Ihrer Sicht, und hält die Ansicht-markup sauber.
Beispielsweise in dem controller, vor der Weitergabe der Daten an die view:
InformationsquelleAutor der Antwort Chris Bier
Seit Laravel 5.7
{{$Variable or "Default Message"}}
wirft$Variable is not defined
. Diese{{$Variable ?? "Default Message"}}
aber funktioniert.InformationsquelleAutor der Antwort Edmund Sulzanok
Während Chris B ' s Antwort ist vollkommen gültig; ich fühlte mich, vielleicht ist dies eine Frage, können eine alternative Antwort. Einige würden es vorziehen, nicht zu machen Ihre Controller "Fett", und in diesem Fall mindestens der Einsatz eines Presenter könnte die Antwort sein, die Sie suchen, damit eine große Flexibilität in Ihrer Anwendung Aussicht.
Werfen Sie einen Blick auf die folgenden Projekt/Paket auf Github. Die readme ist ziemlich robust mit einer Reihe von Beispielen, um Sie gehen.
Wird es Ihnen erlauben, genau das zu tun, was Sie gefragt, und rufen Sie einfach
in Ihrem Blick.
InformationsquelleAutor der Antwort twaambo