代码之家  ›  专栏  ›  技术社区  ›  user48202

<?还是<?有什么区别吗?[复制品]

  •  10
  • user48202  · 技术社区  · 16 年前

    可能重复:
    Are PHP short tags acceptable to use?
    What does “<?=” mean when seen in PHP

    使用上有什么区别吗 <? ?> 表示一个PHP块,或使用 <?php ?> ?

    如果没有,为什么会有人使用 <?php ?

    图.php的文件扩展名将提供有关您正在查看的代码类型的大量信息。

    8 回复  |  直到 16 年前
        1
  •  11
  •   Sarfraz    16 年前

    第一个叫 短开 标签和第二个是安全的打开和关闭标签。 您可以启用/禁用 PHPini 使用 short_open_tag 设置。

    应避免使用短标签,请查看:

    PHP Short Open Tag: Convenient Shortcut or Short Changing Security?

        2
  •  6
  •   Scott Saunders    16 年前

    必须将服务器配置为同时使用 <? 因此,使用 <?php 为了便于携带。

    从手册中( http://www.php.net/manual/en/language.basic-syntax.phpmode.php ):

    有四对不同的 打开和关闭标签 在PHP中使用。其中两个, 而且, 始终可用。另外两个 是短标记和ASP样式标记,以及 可以从 php.ini配置文件。像这样的, 当一些人发现短标签和 ASP样式的标签很方便 不太便于携带,通常不方便 推荐。

        3
  •  3
  •   Svish    16 年前

    <?php 可以一直使用。 <? 只有在 short_open_tag 指令已打开。

    短开口标签 告诉PHP( <? ?> )应该允许使用php的open标记。如果要将PHP与XML结合使用,可以禁用此选项以便使用 <?xml ?> 内联。否则,可以使用php打印,例如: <?php echo '<?xml version="1.0"?>'; ?> . 此外,如果禁用,则必须使用长格式的php open标记( <?php ?> )

    注: 此指令还影响速记 <?= ,与 <? echo . 使用此快捷方式需要打开短的“打开”标记。

    —— Description of core php.ini directives

    正如其他人提到的,这个指令经常被关闭,所以出于可移植性的原因,我更喜欢使用 <?PHP?gt; . 如果这不是一个问题,那么应该没有什么不同,如果打开了该指令,那么也可以使用 <?= 速记薄。

        4
  •  1
  •   krs1    16 年前

    我从未亲自遇到过这个问题,但我支持 <? ?> 移动到不同的服务器时会出现不稳定。我更喜欢坚持 <?php ?> 为了清晰和一致性。

        5
  •  1
  •   Bakhtiyor    16 年前

    使用短标签 <? ?> 在开发应用程序或库以进行重新分发时,或者在不受您控制的PHP服务器上进行部署时应该避免,因为目标服务器上可能不支持短标记。对于可移植的、可再发行的代码,一定不要使用短标签。

    另外请注意,如果您要在XML或XHTML中嵌入PHP,则需要使用 <?php ?> 标签应符合标准。

        6
  •  1
  •   TheHippo    16 年前

    总是使用 <?php ?> 因为 <? ?> :

    • 在未来的PHP版本中不起作用
    • 无法与XML定义混合。(XML总是以 <?xml ... )
    • 在许多共享宿主网站上未启用。
        7
  •  0
  •   Dexah    16 年前

    短标签 <? ?> ,仅适用于旧的PHP版本。

        8
  •  -1
  •   Gabe    16 年前

    语言方面没有区别,但许多商店更喜欢使用 <?php 因为简单 <? 打开标记可以在XML文件中找到,这会导致解释程序混淆。

    编辑:我认为这仍然是一个问题: http://terrychay.com/article/short_open_tag.shtml

    推荐文章