时间:2009-10-20 06:50:32

标签: php php-shorttags

  

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

<?php
    //Some code
?>

<?
    //Some code
?>

我知道第一种方法是正确的方式,但PHP代码未经过验证。因此,除了节省额外的打字和字节,这有关系吗?

更新 谢谢你的回复...

  1. 我不知道他们被称为短标签(因此我没有找到重复的SO问题)
  2. 我不知道有一个特定的服务器配置选项允许/禁止短标签。
  3. 再次感谢

6 个答案:

答案 0 :(得分:10)

如果有人在禁用短标记的服务器上使用您的代码,它会这样做。我在几台服务器上工作。除此之外,没有。出于上述原因,使用简短版本会使您的脚本不那么便携。这对您来说可能是也可能不是问题。

这完全是另一个问题,但相关。如果您尝试从PHP生成某些类型的文件(XML是我最常出现的候选者),那么拥有短标签可能是个问题。例如,以下原因导致PHP语法错误:

<?xml version="1.0" ?>

您必须在启用了短标记的服务器上编写以下内容:

<?php echo '<?xml version "1.0" ?>'; ?>

尔加!

答案 1 :(得分:4)

如果您的项目可能部署在不同的服务器上(例如开源软件),最好始终使用<?php

但是,如果您像我一样,并且始终力求最大程度的便携性,即使您认为您的软件不会离开您的服务器,也请使用<?php。大多数服务器都启用了短标签。

但是,如果他们禁用了短标签,并且您使用它们,那么您的PHP将暴露给世界(如果在文档根目录下)。

答案 2 :(得分:0)

没有区别我认为这只是一个偏好问题,加上为什么重要?它只是另外3个字节。

编辑:

忘了说你必须在php.ini中启用简写

答案 3 :(得分:0)

结束括号不是强制性的

答案 4 :(得分:0)

在某些系统上,short_open_tags的默认选项已关闭,因此后者不起作用,而前者则不起作用,因此如果您使用第二个,它可以完全破坏您的网站。就个人而言,我只想覆盖设置并使用第二个。

答案 5 :(得分:0)

<? ?>

是短标签,如果短标签关闭则不起作用。