我正在使用Laravel 5.7,我在数据库中存储了一个变量,并且希望在渲染之前由Blade对其进行评估。
字段:名称,值:{{$ organisername}}
我正在将这些数据提取到这样的Blade模板中。
<h4>1. Registration</h4>
<br />
{{ $job->organisername }}
然后Chrome显示 {{$ organisername}} ,而不是评估 {{$ organisername}} 。
1。注册
{{$ organisername}}
如果我在Blade模板中输入{{$ organisername}},则在呈现页面时,该模板将评估为 John 。
1。注册
约翰
我正在使用TinyMCE将{{$ organisername}}输入到文本区域,如果有帮助,它将保存到数据库中。
答案 0 :(得分:0)
如果通过评估意味着要对变量进行某种程度的一致性,请知道此Blade echo语句“ {{}}”已经使用 htmlspecialchars 进行了操作,如文档中所述:
答案 1 :(得分:0)
刀片模板在评估之前会被编译成PHP。本质上,刀片编译:
{{ $job->organisername }}
进入
<?php echo e($job->organisername); ?>
一旦您了解了这一点以及PHP如何评估变量,您就应该能够理解为什么不能在数据库中设置Blade构造并在打印时对其进行评估。
与回显文字字符串基本相同:
<?php echo '{{ $organisiername }}'; ?>
您不希望Blade或PHP对它们在打印时遇到的任何表达式进行评估,这可能非常不安全。