提前发送标头可能会产生深远的影响。以下是我眼中突然想到的其中一些:
尽管当前的PHP版本可能会缓冲输出,但是将要用于部署代码的实际 比任何开发或测试机器都重要得多。而且他们并不总是倾向于立即跟随最新的PHP趋势。
您可能会为莫名其妙的 感到头痛。假设您正在实现某种付款网关,并在付款处理器成功确认后将用户重定向到特定的URL。如果发生某种PHP错误,甚至是警告或行末多余,付款可能仍未处理,并且用户似乎仍未开票。这也是不必要的重定向是邪恶的原因之一,如果要使用重定向,则必须谨慎使用。
即使在最新版本中,您也可能在Internet Explorer中收到“页面加载已取消”类型的错误。这是因为 响应/ json包含不应该包含的内容,因为某些PHP文件中的行尾多余,就像我几天前遇到的那样。
如果您的应用程序中有一些 ,它们也可能因此中断。而且即使多年后,您也可能不会注意到它,因为下载的特定习惯取决于服务器,浏览器,文件的类型和内容(以及其他一些我不想让您感到厌烦的因素) 。
最后,许多PHP框架,包括Symfony,[Zend和Laravel(在编码指南中没有提及,但遵循了诉讼)和PSR-2标准项目2.2)要求省略结束标记。PHP手册本身1,2,wordpress的,Drupal的和许多其他PHP软件我想,提醒这样做。如果您只是习惯遵循标准(并为您的代码设置PHP-CS-Fixer),则可以忽略此问题。否则,您将始终需要牢记该问题。
奖励:与这两个字符相关的一些陷阱(实际上是一个陷阱):