PHP短标签是否可以使用?
以下是官方文档中的信息:
有四种不同的开关标签可用于PHP。 其中两个<?php ?>
和<script language="php"> </script>
,总是可用的。 另外两个是短标签和ASP样式标签,可以从php.ini配置文件中打开和关闭。 因此,尽管有些人发现短标签和ASP样式标签方便,但它们便携性较差, 通常不推荐 。
根据我的经验,大多数服务器确实启用了短标签。 打字
<?=
比打字更方便
<?php echo
程序员的方便是一个重要的因素,所以他们为什么不推荐?
不推荐使用它们,因为如果您需要将代码移到不受支持的服务器(并且无法启用它),那么它就是PITA。 正如你所说,很多共享主机确实支持短标签,但“批次”不是全部。 如果你想分享你的脚本,最好使用完整的语法。
我同意<?
和<?=
在<?php
和<?php echo
比程序员更容易,但只要每次使用相同的形式(并且不要在空间中进行查找)(例如,可以执行批量查找和替换) : <? php
或<? =
)
我不会购买可读性作为理由。 最严肃的开发人员可以选择语法突出显示给他们。
正如ThiefMaster在评论中提到的那样,从PHP 5.4开始,无论采用短标签设置,都支持<?= ... ?>
标签 。 这应该意味着它们可以安全地在可移植代码中使用,但这确实意味着它们依赖于PHP 5.4+。 如果你想支持5.4之前的版本并且不能保证短标签,你仍然需要使用<?php echo ... ?>
。
此外,您需要知道从PHP 7中删除了ASP标记<%,%>,<%=和脚本标记 。 因此,如果您想支持长期可移植代码,并希望切换到最现代化的工具,请考虑更改代码部分。
我太喜欢<?=$whatever?>
放手。 从来没有一个问题。 我会等到它咬我的屁股。 非常严肃的是,85%的(我)客户在罕见的情况下都可以访问php.ini。 其他15%使用主流托管服务提供商,几乎所有这些提供商都已启用。 我爱他们。
从PHP 5.4开始,回显快捷方式与短标签是分开的问题,因为回显快捷方式始终处于启用状态。 现在这是一个事实:
所以回声捷径本身( <?=
)现在可以安全使用。
上一篇: Are PHP short tags acceptable to use?
下一篇: Shorthand for arrays: is there a literal syntax like {} or []?