【发布时间】:2010-10-23 14:07:03
【问题描述】:
It's recommended 不应该在文件末尾放置 PHP 结束标记,以避免各种不良错误。但是有什么情况需要PHP标签关闭呢?
【问题讨论】:
标签: php
It's recommended 不应该在文件末尾放置 PHP 结束标记,以避免各种不良错误。但是有什么情况需要PHP标签关闭呢?
【问题讨论】:
标签: php
如果要从 PHP 代码块切换到纯文本输出,则需要一个结束标记。
这是一个例子:
<?php
// PHP code block
?>
<!-- plain text output and not processed by PHP -->
</body>
【讨论】:
只有当你想在你的 php 块之后输出非 php 代码时才需要它。
【讨论】:
当您不只是在脚本中使用 PHP 时 :-)
【讨论】:
顺便说一句,如果您想知道通过跳过结束标记来防止什么错误。由于 Zend 的解释不详细。
PHP 不需要它,省略它可以防止意外地将尾随空格注入到响应中。
这意味着如果您想使用 header() 将某人重定向到其他位置或以任何方式更改 HTTP 标头......那么如果某些文件以这种方式结束,您将无法并且会收到错误消息。
}
?>
//space here
因为那这个空间会作为内容输出到网站,然后你就不能修改标题了。
【讨论】:
作为一般规则,我总是添加结束标记,因为这是我的问号手指一天中唯一得到锻炼的时间。那个可怜的问号在 PHP 中没有得到爱 ;-)
但是说真的,在不需要的时候添加结束标签实际上会导致非常混乱的错误。因为这个,我有一次把头发拉了一个下午。问题通常是因为结束标签后面有空格,你不能轻易看到,但它们被解释为响应正文的一部分。如果您将此文件包含在另一个想要稍后发送自定义标头的脚本中,这将是一个坏消息。在脚本开始发送响应正文后,您无法发送标头信息,因此这些不可见的小空格会导致脚本失败。
【讨论】:
这是我个人的“规则”:
【讨论】: