PHP 短标签可以接受使用吗?

2022-08-30 05:51:26

以下是根据官方文档的信息:

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

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

<?=

比打字方便得多

<?php echo 

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


答案 1

PHP 短标签 () 和速记回显标签 (<?<?=)

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

而速记回显标签不能被禁用,因此是完全可以接受使用的。<?=

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

我根本不认为可读性是一个理由。大多数认真的开发人员都可以选择语法突出显示。

正如 ThiefMaster 在评论中提到的,从 PHP 5.4 开始,<?= ... ?>标签在任何地方都受支持,无论短标签设置如何。这应该意味着它们可以安全地用于可移植代码,但这确实意味着对PHP 5.4 +的依赖性。如果您想支持 5.4 之前的版本,但无法保证短标签,则仍需要使用 .<?php echo ... ?>

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


答案 2

我太喜欢让它走了。从来没有遇到过问题。我会等到它咬我的屁股。严肃地说,85%的(我的)客户端可以访问php.ini在极少数情况下它们被关闭。另外15%的人使用主流托管服务提供商,几乎所有人都启用了它们。我爱他们。<?=$whatever?>


推荐