一尘不染

如何在Laravel刀片模板中设置变量

php

我正在阅读Laravel Blade
文档,但无法弄清楚如何在模板内分配变量以供以后使用。我不能这样做,{{ $old_section = "whatever" }}因为那会回显“任何内容”,而我不希望那样。

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

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


阅读 201

收藏
2020-05-26

共1个答案

一尘不染

不建议在视图中进行操作,因此没有刀片标签。如果您确实想在刀片视图中执行此操作,则可以在编写时打开一个php标签,也可以注册一个新的刀片标签。只是一个例子:

<?php
/**
 * <code>
 * {? $old_section = "whatever" ?}
 * </code>
 */
Blade::extend(function($value) {
    return preg_replace('/\{\?(.+)\?\}/', '<?php ${1} ?>', $value);
});
2020-05-26