这是 根据官方文档 的信息:
有四对不同的开始和结束标签可以在 PHP 中使用。其中两个
<?php ?>
和<script language="php"> </script>
始终可用。另外两个是短标签和 ASP 样式标签,可以从 php.ini 配置文件中打开和关闭。因此,虽然有些人发现短标签和 ASP 样式标签很方便,但它们的可移植性较差, 通常不推荐使用。
根据我的经验,大多数服务器 都 启用了短标签。打字
<?=
比打字方便多了
<?php echo
程序员的便利性是一个重要因素,那么 为什么 不推荐它们呢?
原文由 MDCore 发布,翻译遵循 CC BY-SA 4.0 许可协议
PHP 短标签 (
<?
) 和速记 echo 标签 (<?=
) 之间必须有明显的区别前者被 PHP 编码标准 禁止,主要是出于常识,因为如果您必须将代码移动到不支持它的服务器(并且您无法启用它),它就是一个 PITA。正如您所说,许多共享主机 确实 支持短标签,但“很多”并不是全部。如果您想共享您的脚本,最好使用完整的语法。
而速记回声标签
<?=
不能被禁用,因此完全可以使用。我同意
<?
对程序员来说比<?php
更容易,但只要您每次都使用相同的表格,就可以进行批量查找和替换。我根本不买可读性作为理由。大多数认真的开发人员都可以选择语法高亮。
正如 ThiefMaster 在评论中提到的 那样,从 PHP 5.4 开始,
<?= ... ?>
标签在任何地方都受支持,无论短标签设置如何。这应该意味着它们可以安全地用于可移植代码,但这确实意味着它们依赖于 PHP 5.4+。如果你想支持 pre-5.4 并且不能保证短标签,你仍然需要使用<?php echo ... ?>
。此外,您需要知道 ASP 标签 <% 、 %> 、 <%= 和 script 标签已从 PHP 7 中删除。因此,如果您想支持长期可移植代码并想切换到最现代的工具,请考虑更改该部分代码。