使用<! - ?php? - > VS. <! - ? ? - >

时间:2011-04-27 22:04:34

标签: php

  

可能重复:
  Are PHP short tags acceptable to use?

我们目前正在使用两种样式的混合来在我们的phtml文件中编写php代码。似乎什么都没有破坏,但我只是好奇使用一个而不是另一个。

(寻找更多的东西......'最佳实践'答案)

7 个答案:

答案 0 :(得分:6)

<? ?>被称为短标签,需要在php ini文件中的服务器上启用它们。你不应该使用它们的唯一原因是因为兼容性,在我看来这不是什么大不了的事,但如果你正在编写一个应该被其他服务器上的其他人使用的CMS,你应该使用普通标签{ {1}}

答案 1 :(得分:5)

需要在php.ini中将<? ?>语法设置为“on”,因此可能无法正常工作

<?php ?>始终有效。

答案 2 :(得分:4)

始终可用:

  • <?php&amp; ?>(最常见)
  • <script language="php">&amp; </script>(最不常见)

short_open_tags php.ini指令启用:

  • <?&amp; ?>(短标记)允许<?=$var;?>,因此您可以回复。
  • <%&amp; %>(ASP风格)

当我发布代码时,我总是使用<?php&amp; ?>因为它在整个PHP生态系统中得到支持。如果你使用短开标签并分发代码,那么有些客户可能无法使用它。

答案 3 :(得分:2)

如果您使用PHP模板,

<?=$var?>是输出变量的唯一合理方法。将每个变量写在页面上<?php echo $var ?>是一件痛苦的事。所以,如果你是一个受虐狂(或使用不同的模板),那就选择长形式,否则坚持做短(至少在模板中)

答案 4 :(得分:1)

  • <?也用于其他脚本语言 - 如果您在服务器上安装了多个脚本语言,则可能会导致问题。
  • 某些服务器配置(<?中的short_open_tags)已禁用
  • php.ini,因此如果您的脚本应在其他服务器上运行,请始终使用<?php

答案 5 :(得分:1)

<?php /* .. */ ?>是规范的。

<? /* .. */ ?>是“允许的”,但肯定不推荐。通过在short_open_tags中将true设置为php.ini来启用此功能,该版本暂时没有默认值。

理由超出了这个问题的范围;那里有很多文档。

请参阅this question

答案 6 :(得分:0)

<?必须不再按说明here使用。