EINFACHER WEG
Wenn Sie mehrere Variablen definieren wollen, verwenden Sie die vollständige Form der blade-Richtlinie:
@php
$i = 1;
$j = 2;
@endphp
Wenn Sie nur eine Variable definieren wollen, können Sie auch eine einzige PHP-Anweisung verwenden:
@php($i = 1)
WEITER FORTGESCHRITTEN: EIN 'DEFINE'-TAG HINZUFÜGEN
Wenn Sie benutzerdefinierte Tags und ein @define anstelle von @php verwenden möchten, erweitern Sie Blade wie folgt:
/*
|--------------------------------------------------------------------------
| Extend blade so we can define a variable
| <code>
| @define $variable = "whatever"
| </code>
|--------------------------------------------------------------------------
*/
\Blade::extend(function($value) {
return preg_replace('/\@define(.+)/', '<?php ${1}; ?>', $value);
});
Führen Sie dann einen der folgenden Schritte aus:
Schnelle Lösung : Wenn Sie zu faul sind, fügen Sie den Code einfach in die Funktion boot() der AppServiceProvider.php ein.
Schönere Lösung : Erstellen Sie einen eigenen Dienstanbieter. Siehe https://stackoverflow.com/a/28641054/2169147 darüber, wie man Blade in Laravel 5 erweitern kann. Es ist ein bisschen mehr Arbeit auf diese Weise, aber eine gute Übung, wie man Providers verwenden :)
Nach den obigen Änderungen können Sie diese verwenden:
@define $i = 1
um eine Variable zu definieren.