可能重复:
PHP结束标记
我见过许多没有关闭的PHP类文件,?>而不是这样:
<?php
class DataTypeLine extends DataType {
...
}
?>
Run Code Online (Sandbox Code Playgroud)
他们只是有这个:
<?php
class DataTypeLine extends DataType {
...
}
Run Code Online (Sandbox Code Playgroud)
我还注意到当我在Eclipse Helios中创建一个新的PHP文件时,它默认只有一个起始<?php标记但没有结束标记 ?>.
没有结束?>标记有什么好处?
没有真正的优势 - 它有助于确保没有无意的空格通过在文件末尾添加新行来输出,这可能会弄乱诸如发送标题之类的内容.
例如,像这样的文件:
<?php
/* do stuff */
?>
<!-- note the empty space above, this comment not really part of the code -->
Run Code Online (Sandbox Code Playgroud)
会破坏像这样使用它的文件
<?php
require 'myfile.php';
header('Location: http://example.com/');
?>
Run Code Online (Sandbox Code Playgroud)
由于第一个文件中的空白行,输出已发送错误.通过不使用?>,您可以避免这个潜在的问题.