Laravel Blade 模板:在 Blade 中设置变量
问题
如何在 Laravel Blade 模板中设置变量呢?
答案
Laravel 5.5 及以上
@php
Blade 模板指令允许你写 PHP 代码:
@php
$var = 1
@endphp
Laravel 5.2 及以上
可以使用:
@php ($var = 1)
或者使用区块语句:
@php
$var = 1
@endphp
Laravel 5
在 AppServiceProvider.php
的 boot()
方法中书写以下代码,用来扩展 Blade 的指令:
/*
|--------------------------------------------------------------------------
| 扩展 Blade 指令,允许我们直接在 Blade 模板中直接定义变量
| <code>
| @define $variable = "whatever"
| </code>
|--------------------------------------------------------------------------
*/
\Blade::extend(function($value) {
return preg_replace('/\@define(.+)/', '<?php ${1}; ?>', $value);
});
然后就可以使用以下方法来设置变量了:
@define $i = 1
这变量怎么修改值啊