为什么从 PHP 5.4 开始永久启用“echo”短标签?

2022-08-30 12:43:31

甚至官方文档也曾经告诉我们PHP的“短标签”(<?/*...*/ ?>)是“坏的”。但是,从 PHP 5.4 开始,无论short_open_tag设置如何,echo 变体<?= /*...*/ ?> 都会永久启用

更改了哪些内容?

即使以前仅仅因为是否在共享主机平台上启用的不可预测性而阻止它们,这种争论肯定不会仅仅因为某些主机子集将运行PHP 5.4而消失吗?short_open_tag

可以说,对语言的这种变化本身并不意味着我们应该避免使用“短标签”的建议发生了变化,但是如果他们遇到了麻烦,那么PHP开发人员似乎不再那么“讨厌”他们了。右?

我现在能得出的唯一合乎逻辑的结论是,在 PHP 5.4 中引入此更改必须有一些客观的理由。

这是什么?


答案 1

自 PHP 5.4 以来,短开放标记并不总是启用。该文档讨论了短回声标签。这是另一回事。(短开放标签是样式标签,短回声标签是样式标签,用于回声)。<?<?=

那么为什么它们现在默认启用?好吧,那里有很多脚本,使用它们而不是.由于短回声标签不如短开放标签差,他们选择始终启用短回声标签。因为现在(框架和CMS-es)的开发人员可以依靠它们(或者更确切地说,当PHP 5.4成为主流时)。<?= $somevar ?><?php echo $somevar ?>

但是,短的打开标记仍然受 php.ini 中的设置的影响。short_open_tag


答案 2

只有短回显标签 () 是永久启用的,而不是短的开放标签 ()。这是因为当您创建HTML模板(或任何其他视图模板)时,短回声标签非常方便,如果没有它,您必须编写更多内容(例如,而不仅仅是)。<?=<?<?php echo $var; ?><?= $var ?>


推荐