【问题标题】:Should I close my PHP tags? [duplicate]我应该关闭我的 PHP 标签吗? [复制]
【发布时间】:2011-08-07 18:55:18
【问题描述】:

可能重复:
Why do some scripts omit the closing PHP tag, '?>'?

我在一个 PHP 框架(我不记得是哪个)中看到他们没有关闭页面底部的 php 标记 (?>)。

为什么会这样,我也应该这样做吗?

【问题讨论】:

  • 至少 Laravel 建议你这样做。

标签: php


【解决方案1】:

基本上这意味着 PHP 文件不会有尾随空格。

如果你包含一个带有尾随空格的文件并尝试设置 header() 或 cookie 或类似的东西,那么尾随空格会导致问题。

【讨论】:

    【解决方案2】:

    我个人不喜欢这样做,因为它在过去造成了一些意想不到的麻烦。如果您在结束标记后有空格,它可能会导致一些很难调试的问题(例如将此空格输出到浏览器,如果您正在解析 XML,这会令人不快)。

    【讨论】:

      【解决方案3】:

      你看到的框架很可能是Zend Framework。来自their manual的代码风格部分:

      对于只包含 PHP 代码的文件, 结束标签 ("?>") 永远不会 允许。 PHP不需要它, 并省略它可以防止 意外注入尾随白色 响应空间。

      【讨论】:

      • Yii 框架也使用了这种风格。
      【解决方案4】:

      如果是包含 no HTML 的 PHP 文件,则不要关闭标签。

      这可以防止您在文件末尾意外添加空格,从而调用浏览器输出和扩展标题等,这可能会导致痛苦。

      【讨论】:

        【解决方案5】:

        您不必这样做,只要它也是该脚本的结尾即可。

        在文件末尾添加?> 没有任何作用,它只是在文件大小中添加了几个字节。

        【讨论】:

          猜你喜欢
          • 2010-12-22
          • 1970-01-01
          • 1970-01-01
          • 2013-03-29
          • 2010-11-07
          • 2013-08-05
          • 2011-09-01
          • 2023-01-06
          • 2011-02-25
          相关资源
          最近更新 更多