我正在从cakephp转到laravel,我想了解{{ }}相对于短php标记<?= ?>的优势是什么。我认为php标记更快,不需要模板框架进行任何处理。我知道{{ }}会进行一些转义,但在没有必要时,为什么要使用{{ }}而不是<?= ?>。另外,@foreach和@if的优势是什么?对<?php foreach():?> . <?php endforeach ?>和<php if():?> <?php endif;?>。
发布于 2018-10-29 12:18:20
来自Laravel的医生:
刀片{{ }}语句通过PHP的htmlspecialchars函数自动发送,以防止XSS攻击。如果不希望转义数据,可以使用以下语法:
Hello, {!! $name !!}.
当回显由应用程序的用户提供的内容时,要非常小心。始终使用转义的双大括号语法,以防止XSS攻击时显示用户提供的数据。
另外,如果您使用的是刀片模板引擎,那么使用{{ }}就像惯例一样
发布于 2018-10-29 14:31:52
谢谢你们的回答,但我还是没有得到我想要的答案.这意味着澄清了我应该使用Laravel的路径(因为我来自多年的cakephp,在模板方面更简单)。我理解并提到{{}}正在为XSS转义字符串,直到现在.但我的问题如下:
再次感谢你分享你的想法
发布于 2018-10-29 12:08:56
{{ ... }}只适用于刀片文件,而<?= ... ?>只适用于每个php文件。这是我唯一知道的区别。
https://stackoverflow.com/questions/53045152
复制相似问题