以下是官方文件提供的信息:

有四对不同的 可以是开始和结束标记 用于PHP。其中两个<?php ? > And <script language="php"> </script>, 总是可用的。另外两个 是短标签和ASP风格标签,和 可以打开和关闭从 Php.ini配置文件。因此, 而有些人发现短标签和 ASP样式标签方便,它们都是 便携性较差,而且通常不是 推荐。

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

<?=

比打字方便多了

<?php echo 

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


当前回答

截至2019年,我不同意这里的某些答案。推荐使用:

1. 长标签

<?php /* code goes here */ ?>

2. 短回声标签

<?= /* code goes here */ ?>

原因:它们是PSR-1基本编码标准推荐的

其他短标签,如<?/* code goes here */ ?>不推荐

说明书说:

PHP代码必须使用长标记或短回显 标签;它绝对不能使用其他的标签变体。

其他回答

当您使用具有单独视图文件的MVC框架或CMS时,使用它们是很好的。它速度快,代码少,不会让设计师感到困惑。只要确保您的服务器配置允许使用它们即可。

为了避免可移植性问题,在PHP标记开始时使用<?如果你的php文件是纯php,没有HTML,你不需要使用结束标签。

http://uk3.php.net/manual/en/language.basic-syntax.phpmode.php上有很多建议,包括:

而有些人发现短标签和 ASP样式标签方便,它们都是 便携性较差,而且通常不是 推荐。

and

如果您正在嵌入PHP,请注意 在XML或XHTML中 使用<?保留PHP ?>标记 符合标准。

and

应该避免使用短标签 在开发应用程序或 用于 重新分配,或者在PHP上部署 不属于你的服务器 控件,因为短标记可能不是 目标服务器支持。为 可移植的、可重新分发的代码 不要使用短标签。

不,它们正在被PHP 6淘汰,所以如果你喜欢代码寿命,就不要使用它们或<%…% >标记。

因为它会与XML声明产生混淆。不过,很多人都同意你的观点。

另一个问题是,如果用短标签编码所有东西,最后却发现最终的托管服务器已经关闭了它们,这会带来痛苦……