【发布时间】:2019-04-02 08:44:43
【问题描述】:
我正在从 cakephp 迁移到 laravel,我想了解 {{ }} 相对于短 php 标签 <?= ?> 的优势是什么。我猜php标签更快,不需要模板框架进行任何处理。我知道{{ }} 会进行一些转义,但在没有必要时为什么使用{{ }} 而不是<?= ?>。 @foreach 和 @if ... 与 <?php foreach():?> ... <?php endforeach ?> 和 <php if():?> <?php endif;?> 的优势是什么。
【问题讨论】:
-
这些模板引擎是一个好主意,同时它们坚持分离关注点的 SOLID 原则。过去常说“将所有业务逻辑排除在您的视图之外,只有循环和回显应该在视图中”。现在,他们有自定义的逻辑语法,这意味着它实际上并不比普通的 php 脚本更好,事实上,现在你需要学习第二种语法!我曾经在一些项目中使用twig,但现在我喜欢plates php,一个现在只使用标准php 的模板引擎。只是我的意见,但并不是每个人都会同意我的观点。
-
事实上,标记文件需要尽可能干净,因为您可以将它们交给网页设计师或任何其他非编程人员为您设计样式。因此,到处都是
<?php ?>(或更糟的是(<?= htmlentities($value) ?>)对他们来说可能是不必要的噪音。
标签: php laravel templates laravel-blade