在文件末尾有一个PHP结束标记是否会对行为产生任何影响?

时间:2015-02-14 17:17:57

标签: php

我知道在PHP专用文件末尾有一个PHP结束标记被认为是不好的做法。我理解为什么它被认为是不好的做法。我不在我的代码中使用它们。

我也明白,如果在PHP代码之后,你需要在开始在该文件中编写非PHP代码之前立即使用结束PHP标记。

以下是我的问题:当PHP文件末尾有一个结束的PHP标记时,是否存在代码行为更改?我发现缺乏关于这个问题的讨论非常奇怪。手册说如果文件是纯PHP代码,最好不要使用结束PHP标记。

但是什么时候它不是纯PHP代码?如果你有一些PHP而有些不是PHP,但该文件的最后一部分是PHP,该怎么办?在这种情况下,是否会通过在文件末尾包含或排除结束PHP标记来改变代码行为?

我不是在询问最佳做法,也不是在考虑是否有什么好主意。我问这是否会改变代码的行为。

以下是我所描述的案例:

<?php
  // some PHP code here
?>
<!-- some HTML here -->
<?php
  // some more PHP code here
  // does this last close actually do anything?
?>

1 个答案:

答案 0 :(得分:4)

不,它不会改变任何东西。

该建议源于人们headers already sent错误消息include PHP文件/库在最终?>之后无意中空格或换行符,然后尝试使用标题/ Cookie /等等。一旦任何输出发送到浏览器,它就不再有效。

由于您在示例中的?>之前发送了HTML,因此该建议在此特定情况中并不重要。跳过它仍然是养成不管习惯的好习惯。