Ich versuche, eine Blade-Direktive zu erstellen, die eine Klasse auf meiner Tabellenzeile je nachdem, was übergeben wird, setzen wird. Das Problem ist, wenn ich es aufrufen, der Wert der Variablen wird nicht übergeben - die wörtliche Zeichenfolge, die ich zwischen den Klammern habe ist.Laravel 5 Blade Benutzerdefinierte Direktive - Problem Variable übergeben
Aus meiner Sicht:
@row($inspection->inspection_disposition)
In der Richtlinie:
Blade::directive('row', function($data)
{
var_dump($data);
.
.
.
}
Was ich in der Deponie zu sehen ist:
string (37) „($ Inspektions> inspection_disposition) "
Sollte ich den Wert dieser Variablen nicht sehen? Das ist, was ich will. Was fehlt mir hier?
MEHR INFO:
Ich brauche den Wert dieser Variablen in der Richtlinie zu verwenden, wie folgt aus:
if($data == "hello")
{
return something
}
elseif($data == "goodbye")
{
return something else
}
Dies ist ein vereinfachtes Beispiel, aber hoffentlich wird es helfen, zu zeigen, dass ich brauche Vergleichen Sie den Wert der Variablen innerhalb der Anweisung und bestimmen Sie, was zu tun ist. Vielleicht muss ich eval() verwenden?
Ich habe versucht, eval() zu verwenden, aber ich glaube nicht, das ist richtig ... Warum funktioniert das nicht Übergeben Sie den Wert in die Direktive ???? – Kenny
Ich habe mit dem gleichen Problem zu kämpfen, ich kann nicht ausgewerteten String oder Variable nur meine benutzerdefinierte Blade-Direktive übergeben. Es sieht so aus, als ob es beabsichtigt ist, erst nach einer "Rückkehr" bewertet zu werden. 'eval()' ist jedoch immer ein gefährlicher Ansatz. –