laravel-5 - Laravel 集合语法
问题描述
我正在从一本书中学习 laravel (5.5)。书上说,我安装了 laravel 集体来链接一个 css 文件,这样写:
{{!! HTML::style('css/app.css') !!}}
它工作正常。但是在输出中{}
出现了两个空括号(因为它们没有被用作语法的一部分)。所以,我删除了它们,它仍然可以正常工作。问题是哪种语法是正确的?这个{{!! HTML::style('css/app.css') !!}}
还是{!! HTML::style('css/app.css') !!}
???
解决方案
开箱即用的 Laravel 试图帮助您提高应用程序的安全性。当使用{{ $foo }}
数据输出数据时,Laravel 会自动调用该htmlspecialchars()
方法来防止 XSS 攻击。在某些情况下,您确实想要或需要输出 HTML,这就是 Laravel 为其创建单独语法的原因:{!! $foo !!}
.
所以回答你的问题:{!! $foo !!}
是正确的语法。
无关:
如果你不想使用未转义的数据语法,你可以这样写你的 CSS 链接:
<link rel="stylesheet" href="{{ asset('css/app.css') }}">
推荐阅读
- coinbase-api - 使用 coinbase-api 通过 apiKey 和 apiSercrt 获取所有账户
- node.js - 比较 2 个嵌套的 Json 数组,用 Json B 覆盖和合并 Json A
- tensorflow - 使用 pytorch rnn 模型进行推断时的准确性损失
- google-cloud-platform - 为什么我在为我的操作系统下载任何补丁时需要启用 Cloud NAT,即使我使用的是私人 Google 访问权限
- java - Hibernate PostInsertEventListener.requiresPostCommitHanding 做什么?
- mysql - 带有条件的嵌套选择的 SQL 查询
- python - 在 Canvas 中开发的地图自动化
- c# - Win32点击按钮没有窗口句柄
- mysql - 如何在 MySQL AWS RDS 中恢复 Flyway schema_version
- laravel-8 - Laravel Yajra DataTable:如何阻止索引列(具有行序列号)在其他列排序时发生变化