我可以在
中定义一个变量<?php $var = var1 - var2; ?>
然后打印为
{{ $var }}
但是如何使用laravel刀片模板方法设置变量,然后使用它,基本上在5.2中@set替代?
有这个包的laravel4,但它不兼容laravel5由于它的作曲家文件。一个快速的pull请求可以解决这个问题。
包的主要部分只有三行,如果您不想为它拉入一个包,可以将其添加到AppServiceProvider
的引导方法中:
'Blade::extend(function($value, $compiler) {
$value = preg_replace("/@set'('(.*?)'',(.*)')/", '<?php $$1 = $2; ?>', $value);
return $value;
});
下面是自述文件中的一些示例。
@set('my_variable', $existing_variable)
然后可以在模板中使用变量$my_variable
。
您可以选择从模板中获取一堆模型,例如
@set('my_model_list', MyModel::where('something', '=', 1)->paginate(10))
可以使用刀片注释语法
{{--*/ $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 }}