我在PHP框架中看到(我不记得是哪个)他们没有关闭页面底部的php
标记(?>
)。
为什么这样,我也应该这样做?
答案 0 :(得分:36)
如果它是包含否 HTML的PHP文件,则不要关闭标记。
这可以阻止您在文件末尾意外添加空格,从而调用浏览器输出,以及扩展标题等,这可能会导致痛苦的世界。
答案 1 :(得分:13)
您看到的框架很可能是Zend Framework。来自their manual的代码样式部分:
对于仅包含PHP代码的文件, 结束标记(“?>”)永远不会 允许的。 PHP不要求它, 并省略它'防止 意外注入尾随白色 空间进入响应。
答案 2 :(得分:4)
基本上它意味着PHP文件不会有尾随空格。
如果你包含一个带有尾随空格的文件,并尝试设置header()或cookies或类似的东西,那么尾随空格会引起问题。
答案 3 :(得分:1)
您不必,只要它也是该脚本的结尾。
将?>
添加到文件的末尾不起任何作用,它只是向filesize添加了几个字节。
答案 4 :(得分:1)
我个人不喜欢这样做,因为它在过去引起了一些意想不到的麻烦。如果在关闭标记后有空白区域,可能会导致一些麻烦(例如将此空白区域输出到浏览器,如果您正在解析XML,则会令人不愉快),而这些麻烦很难调试。 / p>