我有一个模板,它调用了许多内置宏,我从其他几个地方包含了这个模板。
有时,我需要像这样调用所有宏:
{{Form :: label('foo','Foo')}}
其他时候我需要像这样调用它们:
{{{Form :: label('foo','Foo')}}}
目前,我有两个单独的模板,除了额外的{}之外是相同的,这意味着每次我想要改变任何东西时我都要编辑两个文件。
有没有办法打开/关闭自动转义功能,以便我可以在两种情况下使用相同的文件?
由于
答案 0 :(得分:1)
不,Laravel中没有允许你这样做的功能 - 另外,从代码维护/安全审计的角度来看,它可能是一个坏主意。几周后查看模板并且不知道哪些变量是否被逃脱将是疯狂的。
如果你需要这样做,“正确”的方式是extend Blade使用你自己的指令 - 类似@escapeIsConfigIsOn
,然后把你的逻辑放在那里以逃避内容。顶级函数e
是刀片在内部用于转义的函数。
#File: login/vendor/laravel/framework/src/Illuminate/Support/helpers.php
function e($value)
{
return htmlentities($value, ENT_QUOTES, 'UTF-8', false);
}