什么是PHP FAVOR关闭PHP文件的标签?

Boy*_*ema 26 php

Zend Framework编码标准提到以下内容:

对于仅包含PHP代码的文件,绝不允许使用结束标记("?>").PHP不需要它,省略它可以防止意外地将尾随空格注入响应中.

但是我确实记得听过一个问题(使用工具或可能包含?),其中文件需要有关闭标记.

有没有人知道你需要有关闭标签的任何问题(除了想要对称的开发者问题)或者它们通常是个坏主意?

小智 25

尽可能删除结束标签可能是最好的做法.原因是因为如果你在php文件中的?>之外有任何字符(甚至是空格),如果在设置标题之前将字符发送到浏览器,它可以停止诸如标题之类的东西停止工作.

  • 在?>之后的任何空格都是一个问题并不完全准确.关闭后的一个新行字符?>不是问题; 它将由解析器使用而不会被回显.这是为了与许多文本编辑器兼容,这些编辑器需要在所有行的末尾换行. (2认同)

Kor*_*nel 11

如果您使用关闭PHP标记,那么您可以轻松找到意外截断的文件(例如,尚未完全上传).
但是这个问题应该通过使文件系统和传输可靠而不是添加PHP"​​canary"标签来解决:)

另一个可能的原因是PEAR编码标准需要它.他们需要它,因为他们需要它,你不能质疑PEAR编码标准.