Laravel 5.2 : 如何在没有 php 标签的情况下在 blade 模板中设置变量?
Laravel 5.2 : how to set a variable in blade template, without php tags?
我可以在下面使用 blade
定义一个变量
<?php $var = var1 - var2; ?>
然后将其打印为
{{ $var }}
但是如何使用laravelblade模板方法设置一个变量然后使用它,基本上@set alternative in 5.2?
您可以使用blade注释语法
{{--*/ $var = $var1 - $var2; /*--}}
{{ $var }}
上面的代码将被翻译成下面的代码片段
<?php /**/ $var = $var1 - $var2; /**/ ?>
阅读更多:http://laravel-recipes.com/recipes/256/assigning-a-variable-in-a-blade-template
试试这个,
@if($var=$var1-$var2)@endif
并打印,
{{ $var }}
有这个 package for laravel 4 但它与 laravel5 不兼容,因为它是作曲家文件。快速拉取请求可以解决这个问题。
包的主要部分只有三行,如果您不想为其引入包,可以将其添加到 AppServiceProvider
的引导方法中:
\Blade::extend(function($value, $compiler) {
$value = preg_replace("/@set\('(.*?)'\,(.*)\)/", '<?php $ = ; ?>', $value);
return $value;
});
以下是自述文件中的一些示例。
@set('my_variable', $existing_variable)
然后您可以在模板中使用变量 $my_variable
。
例如,您可以选择从模板中获取一堆模型
@set('my_model_list', MyModel::where('something', '=', 1)->paginate(10))
我可以在下面使用 blade
定义一个变量<?php $var = var1 - var2; ?>
然后将其打印为
{{ $var }}
但是如何使用laravelblade模板方法设置一个变量然后使用它,基本上@set alternative in 5.2?
您可以使用blade注释语法
{{--*/ $var = $var1 - $var2; /*--}}
{{ $var }}
上面的代码将被翻译成下面的代码片段
<?php /**/ $var = $var1 - $var2; /**/ ?>
阅读更多:http://laravel-recipes.com/recipes/256/assigning-a-variable-in-a-blade-template
试试这个,
@if($var=$var1-$var2)@endif
并打印,
{{ $var }}
有这个 package for laravel 4 但它与 laravel5 不兼容,因为它是作曲家文件。快速拉取请求可以解决这个问题。
包的主要部分只有三行,如果您不想为其引入包,可以将其添加到 AppServiceProvider
的引导方法中:
\Blade::extend(function($value, $compiler) {
$value = preg_replace("/@set\('(.*?)'\,(.*)\)/", '<?php $ = ; ?>', $value);
return $value;
});
以下是自述文件中的一些示例。
@set('my_variable', $existing_variable)
然后您可以在模板中使用变量 $my_variable
。
例如,您可以选择从模板中获取一堆模型
@set('my_model_list', MyModel::where('something', '=', 1)->paginate(10))