Laravel Blade {{ ... }} vs <?= ?>

Vla*_*gri 1 php templates laravel laravel-blade

我正在从 cakephp 迁移到 laravel,我想了解{{ }}短 php 标签的优势是什么<?= ?>。我猜 php 标签更快,不需要模板框架的任何处理。我知道这{{ }}会做一些转义,但在没有必要的时候为什么使用{{ }}而不是<?= ?>. 还什么是优势@foreach@if... VS <?php foreach():?>...<?php endforeach ?><php if():?> <?php endif;?>

Ale*_*drs 5

来自 Laravel 文档:

Blade {{ }} 语句通过 PHP 的 htmlspecialchars 函数自动发送,以防止 XSS 攻击。如果您不希望您的数据被转义,您可以使用以下语法:

Hello, {!! $name !!}.

回显由应用程序用户提供的内容时要非常小心。在显示用户提供的数据时,始终使用转义的双花括号语法来防止 XSS 攻击。

此外,如果您使用刀片模板引擎,则使用约定就像 {{ }}

https://laravel.com/docs/5.7/blade#displaying-data