LARAVEL 5.5 UND AUF
Die @ php Blade-Direktive akzeptiert keine Inline-Tags mehr. Verwenden Sie stattdessen die vollständige Form der Richtlinie:
@php
$i = 1
@endphp
LARAVEL 5.2 UND AUF
Sie können einfach verwenden:
@php ($i = 1)
Oder Sie können es in einer Blockanweisung verwenden:
@php
$i = 1
@endphp
LARAVEL 5
Klinge wie folgt ausfahren:
/*
|--------------------------------------------------------------------------
| 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 faul sind, geben Sie den Code einfach in die boot () - Funktion der AppServiceProvider.php ein.
Schönere Lösung: Erstellen Sie einen eigenen Dienstanbieter. Unter https://stackoverflow.com/a/28641054/2169147 erfahren Sie, wie Sie das Blade in Laravel 5 erweitern. Auf diese Weise ist es etwas mehr Arbeit, aber eine gute Übung zur Verwendung von Providern :)
LARAVEL 4
Sie können den obigen Code einfach unten in app / start / global.php (oder an einem anderen Ort, wenn Sie der Meinung sind, dass dies besser ist) einfügen .
Nach den obigen Änderungen können Sie Folgendes verwenden:
@define $i = 1
eine Variable definieren.