我知道一般的php文档中,php标记都会以<?php … ?>的形式出现。但在一些开源系统中,也有出现这样的情况,在一个文件中,只有<?php …的部分,没有?>的部分。而且感觉?>不在其他文件中。这里,我们讲一下为什么能这样写,以及这样写的意义。
下面是PHP手册中的一段话:
如果文件内容是纯 PHP 代码,最好在文件末尾删除 PHP 结束标记。这可以避免在 PHP 结束标记之后万一意外加入了空格或者换行符,会导致 PHP 开始输出这些空白,而脚本中此时并无输出的意图。
<?php echo "Hello world"; // ... more code echo "Last statement"; // 脚本至此结束,并无 PHP 结束标记
这些影响最多的时候应该是在使用 include 和 require的时候,加了结束标签 如果又在后面加了空格都有可能会引起多余的输出、php错误、之后的输出无法显示、空白页。因此,所有的php文件应该省略这个php闭合标签,并插入一段注释来标明这是文件的底部并定位这个文件在这个应用的相对路径。这样有利于你确定这个文件已经结束而不是被删节的。