可以使用 PHP 短标签吗?

新手上路,请多包涵

这是 根据官方文档 的信息:

有四对不同的开始和结束标签可以在 PHP 中使用。其中两个 <?php ?><script language="php"> </script> 始终可用。另外两个是短标签和 ASP 样式标签,可以从 php.ini 配置文件中打开和关闭。因此,虽然有些人发现短标签和 ASP 样式标签很方便,但它们的可移植性较差, 通常不推荐使用

根据我的经验,大多数服务器 启用了短标签。打字

<?=

比打字方便多了

<?php echo

程序员的便利性是一个重要因素,那么 为什么 不推荐它们呢?

原文由 MDCore 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 906
2 个回答

PHP 短标签 ( <? ) 和速记 echo 标签 ( <?= ) 之间必须有明显的区别

前者被 PHP 编码标准 禁止,主要是出于常识,因为如果您必须将代码移动到不支持它的服务器(并且您无法启用它),它就是一个 PITA。正如您所说,许多共享主机 确实 支持短标签,但“很多”并不是全部。如果您想共享您的脚本,最好使用完整的语法。

而速记回声标签 <?= 不能被禁用,因此完全可以使用。

我同意 <? 对程序员来说比 <?php 更容易,但只要您每次都使用相同的表格,就可以进行批量查找和替换。

我根本不买可读性作为理由。大多数认真的开发人员都可以选择语法高亮。

正如 ThiefMaster 在评论中提到的 那样,从 PHP 5.4 开始, <?= ... ?> 标签在任何地方都受支持,无论短标签设置如何。这应该意味着它们可以安全地用于可移植代码,但这确实意味着它们依赖于 PHP 5.4+。如果你想支持 pre-5.4 并且不能保证短标签,你仍然需要使用 <?php echo ... ?>

此外,您需要知道 ASP 标签 <% 、 %> 、 <%= 和 script 标签已从 PHP 7 中删除。因此,如果您想支持长期可移植代码并想切换到最现代的工具,请考虑更改该部分代码。

原文由 Oli 发布,翻译遵循 CC BY-SA 4.0 许可协议

php 中有 3 个标签:

  1. <?php ?> 不需要指示任何配置的长格式标签
  2. short_open_tag <? ?> 如果 php.ini 中的 short_open_tag 选项打开,则可用
  3. 缩短标签 <?= 自 php 5.4.0 起它始终可用

从 php 7.0.0 asp 和 script 标签被删除

原文由 GaziAnis 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题