我正在阅读Laravel Blade文档,我不知道如何在模板中分配变量以供以后使用。我不能使用{{$old_section = "whatever"}},因为这将会返回"whatever",而我不想这样做。

我知道我可以做<?PHP $old_section = "whatever";>,但这并不优雅。

在Blade模板中是否有更好、更优雅的方式来做到这一点?


当前回答

在Blade模板引擎中可以通过以下方式设置变量: 1. 通用PHP块 设置变量:<?php $hello = " hello World!";? > 输出:{{$你好}} 2. Blade PHP块 设置变量:@php $hello = " hello World!";@endphp 输出:{{$你好}}

其他回答

有一个非常好的扩展刀片激进/刀片扩展。添加后,可以使用@set(variable_name, variable_value)

@set(var, 33)
{{$var}}

你可以在视图文件中设置一个变量,但是它会在你设置的时候被打印出来。不管怎样,有一个变通办法。您可以在未使用的部分中设置该变量。例子:

@section('someSection')
  {{ $yourVar = 'Your value' }}
@endsection

然后{{$yourVar}}将打印你的值到任何你想要它的地方,但当你保存变量时,你不会得到输出。

EDIT:需要命名部分,否则将引发异常。

你可以使用我发布的软件包:https://github.com/sineld/bladeset

然后你可以轻松地设置你的变量:

@set('myVariable', $existing_variable)

// or

@set("myVariable", "Hello, World!")

Laravel 5你可以很容易做到这一点。见下文

{{--*/ @$variable_name = 'value'  /*--}}

分配变量刀片模板,这里是解决方案

我们可以使用<?刀片页面中的PHP ?>标记

<?php $var = 'test'; ?>
{{ $var }

OR

我们可以用特殊的语法使用刀片注释

{{--*/ $var = 'test' /*--}}
{{ $var }}