352 Stimmen

Wie man Variablen in einem Laravel Blade Template einstellt

Ich lese gerade die Laravel Blade Dokumentation und ich kann nicht herausfinden, wie ich Variablen innerhalb einer Vorlage zur späteren Verwendung zuweisen kann. Ich kann nicht tun {{ $old_section = "whatever" }} denn das würde ein Echo von "wie auch immer" hervorrufen und das will ich nicht.

Ich verstehe, dass ich Folgendes tun kann <?php $old_section = "whatever"; ?> aber das ist nicht elegant.

Gibt es eine bessere, elegante Möglichkeit, dies in einer Blade-Vorlage zu tun?

4voto

Set Kyar Wa Lar Punkte 4143

Mein eleganter Weg sieht folgendermaßen aus

{{ ''; $old_section = "whatever"; }}

Und ich möchte nur auf Ihre $old_section variabel.

{{ $old_section }}

4voto

Pasindu Punkte 41

Ich hatte auch mit dem gleichen Problem zu kämpfen. Aber ich konnte dieses Problem mit dem folgenden Codesegment lösen. Verwenden Sie diesen in Ihrer Klingenvorlage.

<input type="hidden" value="{{$old_section = "whatever" }}">

{{$old_section }}

4voto

Nikunj K. Punkte 8071

Weisen Sie der Klingenvorlage eine Variable zu. Hier sind die Lösungen

Wir können verwenden <?php ?> Tag in Blade-Seite

<?php $var = 'test'; ?>
{{ $var }

OR

Wir können den Klingenkommentar mit einer speziellen Syntax verwenden

{{--*/ $var = 'test' /*--}}
{{ $var }}

4voto

Jonathan Punkte 10002

Wenn Sie eine PHP 7.0:

Der einfachste und effektivste Weg ist die Zuweisung Innenklammern .

Die Regel ist einfach: Verwenden Sie Ihre Variable mehr als einmal? Dann deklarieren Sie sie bei der ersten Verwendung in Klammern, bleiben Sie ruhig und machen Sie weiter.

@if(($users = User::all())->count())
  @foreach($users as $user)
    {{ $user->name }}
  @endforeach
@else
  There are no users.
@endif

Und ja, ich weiß Bescheid über @forelse Dies ist nur eine Demo.

Da Ihre Variablen jetzt so deklariert werden, wie und wann sie verwendet werden, sind keine Umgehungslösungen für die Klinge erforderlich.

2voto

Darren Craig Punkte 462

Ich glaube nicht, dass Sie können - aber dann wieder, diese Art von Logik sollte wahrscheinlich in Ihrem Controller behandelt werden und in der Ansicht bereits festgelegt übergeben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X