这可以防止您在文件末尾意外添加空格,从而触发浏览器输出,进而引起头部等问题,可能会带来很多麻烦。
你看到的框架很可能是Zend Framework。从他们的手册的代码风格部分可以看出:
对于只包含 PHP 代码的文件,永远不允许使用结束标记("?>")。它不是 PHP 所必需的,省略它可以防止在响应中意外注入尾随空格。
基本上它意味着PHP文件将不会有尾随空白。
如果你包含了一个带有尾随空白的文件,并尝试设置header()或cookies等等,那么尾随空格将会引起问题。
个人而言,我不建议这么做,因为过去曾经出现过一些意想不到的问题。如果在结束标签后有空格,可能会导致一些麻烦(比如将这些空格输出到浏览器中,在解析XML时会很不舒服),而且这些问题非常难以调试。
只要它也是该脚本的结尾,你就不必这样做。
在文件末尾添加?>
没有任何作用,它只会增加几个字节的文件大小。