首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Laravel刀片模板中设置变量

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

Stack Overflow用户
提问于 2012-10-22 06:02:08
回答 23查看 427.8K关注 0票数 304

我正在阅读Laravel Blade documentation,但我不知道如何在模板中分配变量供以后使用。我不能做{{ $old_section = "whatever" }},因为那会重复“随你便”,我不想那样。

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

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

EN

回答 23

Stack Overflow用户

回答已采纳

发布于 2012-10-23 04:32:18

不鼓励在视图中执行此操作,因此没有针对它的刀片标记。如果您确实想在刀片视图中执行此操作,您可以在编写时打开一个php标签,或者注册一个新的刀片标签。举个例子:

代码语言:javascript
复制
<?php
/**
 * <code>
 * {? $old_section = "whatever" ?}
 * </code>
 */
Blade::extend(function($value) {
    return preg_replace('/\{\?(.+)\?\}/', '<?php ${1} ?>', $value);
});
票数 136
EN

Stack Overflow用户

发布于 2013-06-19 03:05:11

laravel-4中,您可以使用模板注释语法来定义/设置变量。

注释语法为{{-- anything here is comment --}}blade引擎将其呈现为

<?php /* anything here is comment */ ?>

因此,我们可以通过一些小技巧来定义变量,例如

代码语言:javascript
复制
{{-- */$i=0;/* --}}

将由blade呈现为<?php /* */$i=0;/* */ ?>,它为我们设置变量。不需要更改任何代码行。

票数 117
EN

Stack Overflow用户

发布于 2015-05-26 21:16:38

你会把事情搞得太复杂了。

只需使用普通php即可

代码语言:javascript
复制
<?php $i = 1; ?>
{{$i}}

成功者。

(或者https://github.com/alexdover/blade-set看起来也很简单)

我们都在通过在视图中设置变量来“破解”系统,那么为什么要让“破解”变得更加复杂呢?

在Laravel 4中进行了测试。

另一个好处是语法突出显示可以正常工作(我之前使用的是comment hack,读起来很糟糕)

票数 33
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13002626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档