【发布时间】:2020-12-16 16:20:44
【问题描述】:
在 laravel 框架中,我们可以使用刀片在 html 文件中添加 PHP 代码。
我们在 Laravel 的刀片文件中同时使用了 {{ }} and {{{ }}} 语法。
它们有什么区别?
我在刀片文件中有这样的代码
{{{ $errors->has('slider') ? 'has-error' : '' }}}
【问题讨论】:
标签: laravel
在 laravel 框架中,我们可以使用刀片在 html 文件中添加 PHP 代码。
我们在 Laravel 的刀片文件中同时使用了 {{ }} and {{{ }}} 语法。
它们有什么区别?
我在刀片文件中有这样的代码
{{{ $errors->has('slider') ? 'has-error' : '' }}}
【问题讨论】:
标签: laravel
在 Laravel 5 之前:
{{{ $var }}} 转义 $var 的内容{{ $var }} 回显 $var 未转义从 Laravel 5 开始:
{{ $var }} AND {{{ $var }}} 转义 $var 的内容{!! $var !!} 回显 $var 未转义【讨论】:
{{ }} 和 {{{ }}} 在 Laravel 5 中完全没有区别。
在第 4 版中,它包括以下两种样式:“{{”和“{{{”。双 大括号是原始回声,三重大括号已转义。
目前在 5.0 中,双大括号和三重大括号都避开了 变量和一个新的“{!! $var !!}” 是原始的。
【讨论】:
{{{ 呈现 HTML 数据,但 {{ 显示数据和元素而不呈现。
例如:
$str = "<h3>tuytoosh is here</h3>";
{{ $str }} 输出:<h3>tuytoosh is here</h3>
{{{ $str }}} 输出:
【讨论】:
在 Laravel 4 中,{{{ $var }}} 用于通过转义 HTML 实体来呈现数据,该实体使用 PHP htmlentities 函数来防止 XSS 攻击。
{{ $var }} 用于呈现数据而不转义 HTML 实体。
在 Laravel 5 中稍有不同,您可以使用 {{ $var }} 或 {{{ $var }}} 转义数据并呈现未转义的数据,您可以使用 {!! $var !!}。
【讨论】:
这里没有提到但很容易知道的东西。如果您有一个翻译文本,其参数应该成为生成的 html 中的 Vue 变量,那么三重花括号就派上用场了。
例如:
{{{ __('This window will close in :timeout seconds', ['timeout' => '@{{timeoutSecs}}']) }}}
尝试使用任何其他大括号组合都会引发一些错误。
【讨论】: