php - 使用PHP短标记好不好?

  显示原文与译文双语对照的内容

下面是信息根据官方文档:

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

在我的经验中,大多数服务器都有短标签。 类型

 
<?=

 

比键入更方便

 
<?php echo 

 

程序员的方便是一个重要因素,因此为什么可以对它的不推荐?

时间:

它们不推荐,因为它是一个 PITA,如果你需要将代码移动到一个不支持( 你不能启用它)的服务器。 就像你说的,很多共享主机做支持shorttags可以"音量"是还没死绝 如果你想共享脚本,最好使用完整语法。

我同意 <?<?= 在程序员上比 <?php<?php echo 更容易,但只要每次使用相同的形式( 并且不使用空格( 如: <? php 或者 <? = )

我不把可读性当作一个理由来购买。 大多数严重的开发人员都可以选择使用语法突出显示。

就像在评论中ThiefMaster筹划,在 PHP 5.4之时,处处可见,无论 shorttags <?=.. .?> 标签是支持设置 。 这意味着在可移植代码中使用它们是安全的,但这意味着在 PHP 5.4 + 上有一个依赖。 如果你想要支持 pre-5.4 并且不能保证 shorttags,你仍然需要使用 <?php echo.. .?>

我太喜欢 <?=$whatever?>,不能让它走。 它从来没有出过问题。 我一直等到它咬了我。 在所有严重性, 85% ( 我的) 客户访问 php.ini 罕见的场合关掉。 其他 15%使用主流宿主提供程序,实际上所有的都启用了它们。 我爱他们。

从 PHP 5.4开始,echo 快捷方式是一个独立于短标签的问题,因为它们总是被启用。 现在是事实:

所以 echo 快捷方式本身现在是安全的。

在它的默认的MVC配置,短标记风格正在感谢 Zend 框架在推 服务器上的你或者你的公司将control,的争论之后我觉得没有什么的信息,你会产生在你的一生中,大部分软件能够 operate. 只要你保持一致,就不会有任何问题。

更新

Magento,执行相当多的操作后,它使用长form,之工作 结果,我已经切换到了长格式:


<?php and <?php echo

上方

 
<? and <?=

 

似乎需要少量的工作来确保互操作性。

因为它可以用XML声明生成混乱。 许多人同意你,。

另外一个问题就是所有的痛苦我萨德生成代码短标签结束时却发现最后托管服务器已关闭。

下面是相同的流程图:

decision making tree of the use of <?=

源:对程序员堆栈交换的类似问题

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

虽然有些人发现短标签和ASP样式标记很方便,但它们的可移植性较差,而且通常不推荐使用。

注意,如果你在XML或者XHTML中嵌入 PHP,你需要使用 <?php?> 标签来保持符合标准。

在开发用于重新发布的应用程序或者库时,应该避免使用短标记,或者在不受你控制的PHP服务器上部署,因为在目标服务器上可能不支持短标记。 对于可移植的可以再发行代码,请确保不要使用短标签。

如果仍然有人注意到这个。。 在 PHP 5.4.0中,Alpha 1 <?= 总是可用的:

http://php.net/releases/NEWS_5_4_0_alpha1.txt

所以看起来很短的标签是可以接受的,而这里是( 一个) 。 至少现在。。

  • 短标签不是默认打开在某些 webservers ( 共享主机,等等 ),因此可移植性 代码存在了一个问题,如果你需要移动到其中一个。

  • 于some,相关可读性定可能是一个事 很多开发者可能会发现比 <?<?php 则捕获该这样做只是一个更明显的一个代码块的开始标记,当你浏览一个文件,尤其是如果你正在陷入一个代码库与 HTML 和PHP紧密 inter-woven 。

...