我知道在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?
?>
答案 0 :(得分:4)
不,它不会改变任何东西。
该建议源于人们headers already sent
错误消息include
PHP文件/库在最终?>
之后无意中空格或换行符,然后尝试使用标题/ Cookie /等等。一旦任何输出发送到浏览器,它就不再有效。
由于您在示例中的?>
之前发送了HTML,因此该建议在此特定情况中并不重要。跳过它仍然是养成不管习惯的好习惯。