为什么我们使用起始和结束标记为<! - ? ? - >在PHP?

时间:2011-12-26 15:27:04

标签: php

我正在使用php,从一开始我就想知道为什么我们使用它 <? ?>标记为php标记的开头和结尾。

我知道它的脚本用于区分php和其他语言,但我想知道为什么我们使用而不是任何其他标记作为起始和结束标记?

4 个答案:

答案 0 :(得分:5)

某些服务器仅支持

<%%>。通常的PHP标记是<?php?>,这些是您应该使用的标记。

答案 1 :(得分:0)

事实上,我们不使用&lt;%和%&gt;标签。这些标签由ASP脚本使用,php.ini中有一个特殊的配置来使用类似asp的标签。 PHP使用<?php?>标记(或缩写形式为<? ?>)。在纯PHP文件中,不需要结束标记。

为什么要使用<%?也许因为<?也是XML文件的开头,所以它可能会让解析器感到困惑,但对于标准的Web服务器却不会,因为PHP文件永远不会被发送到浏览器。

答案 2 :(得分:0)

正确的php标签是&lt; ?php?&gt;

&lt; %% &gt; 是打开/关闭ASP脚本(vbscript和其他微软语言)的标记。
但是,一些配置错误的php安装也接受那些也用于php,但是尽量避免这种用法,因为如果你想在其他服务器上运行你的脚本,你可能会有一些麻烦。

要完成,结束标记?&gt;如果你的脚本只包含php代码,则没用。建议不要使用它,以避免在使用cookie时出现问题......

答案 3 :(得分:-2)

这是php社区中最愚蠢的事情之一。其他人所说的接受的做法是使用<?php ?>并打印一个变量,<?php echo $foo ?>我怀疑这最初是出于不与ASP的<% %>

混淆

哪个更容易阅读? RoR的<%= foo %><?php echo $foo; %>我认为大多数非php人会选择较短的人。

此外,还有一个论点是<% %>打破了XML解析器,而<? ?>则通过它们。我认为这是一个愚蠢的论点,因为一个php文件不是一个XML文件...你会先解析通过php运行生成的XML,这将不再有php标记。你为什么要通过xml解析器运行php?你会通过XML解析器运行C ++文件吗?