修改 Laravel 刀片变量而不显示它

Eri*_*ikL 6 php laravel blade laravel-blade

在我的刀片代码中,我需要一个计数器,以便为由 foreach 循环呈现的 div 提供唯一 ID。为此,我在刀片模板中创建了一个变量,如下所示:

{{ $counter = 0 }}
Run Code Online (Sandbox Code Playgroud)

我在 html 中使用它只是输出它 {{ $counter = 0 }}

后来,我像这样增加它: {{ $counter++ }}

这一切都像一个魅力,除了{{ $counter++ }}它不仅增加变量,它还输出到视图。

有什么办法可以防止这种情况吗?

Tro*_*yer 6

起初在刀片模板上添加逻辑是一种不好的做法,但有时我们不得不这样做,在这种情况下,您可以像这样使用 PHP 标签:

<?php $counter++; ?>

文档所示,在 Laravel 5.4 上执行此操作的另一种方法是:

在某些情况下,将 PHP 代码嵌入到视图中很有用。您可以使用 Blade @php 指令在模板中执行一段普通的 PHP:

@php
   $counter++;
@endphp
Run Code Online (Sandbox Code Playgroud)

如果你在数组键上有你的位置,你可以@foreach像这样使用它:

@foreach ($variable as $key => $value) 
    //current position = $key
    # code...
@endforeach
Run Code Online (Sandbox Code Playgroud)


小智 0

我使用此扩展在刀片上设置变量: https ://github.com/RobinRadic/blade-extensions

您可以使用简单的 @set($count, 1) 或任何您想要的值。