LARAVEL 5.5 DAN ATAS
Arahan blade @php tidak lagi menerima tag inline. Alih-alih, gunakan bentuk lengkap dari arahan:
@php
$i = 1
@endphp
LARAVEL 5.2 DAN ATAS
Anda bisa menggunakan:
@php ($i = 1)
Atau Anda dapat menggunakannya dalam pernyataan blokir:
@php
$i = 1
@endphp
LARAVEL 5
Perpanjang Blade seperti ini:
/*
|--------------------------------------------------------------------------
| Extend blade so we can define a variable
| <code>
| @define $variable = "whatever"
| </code>
|--------------------------------------------------------------------------
*/
\Blade::extend(function($value) {
return preg_replace('/\@define(.+)/', '<?php ${1}; ?>', $value);
});
Kemudian lakukan salah satu dari yang berikut:
Solusi cepat: Jika Anda malas, cukup masukkan kode pada fungsi boot () dari AppServiceProvider.php.
Solusi yang lebih baik: Buat penyedia layanan sendiri. Lihat https://stackoverflow.com/a/28641054/2169147 tentang cara memperpanjang blade di Laravel 5. Ini sedikit lebih banyak bekerja dengan cara ini, tetapi latihan yang bagus tentang cara menggunakan Penyedia :)
LARAVEL 4
Anda bisa meletakkan kode di atas di bagian bawah app / start / global.php (atau tempat lain jika Anda merasa itu lebih baik).
Setelah perubahan di atas, Anda dapat menggunakan:
@define $i = 1
untuk menentukan suatu variabel.