【问题标题】:Why would someone NOT omit the closing php tag?为什么有人不会省略结束 php 标签?
【发布时间】:2018-10-04 16:09:03
【问题描述】:

我知道您可以为纯 PHP 文件省略 PHP 结束标记,并且省略结束标记被认为是避免在输出中注入无关空格的好习惯。到目前为止,我所看到的意见/标准已经清楚地表明我们应该在纯 PHP 文件上省略结束标记,但是当文件混合 HTML 和 PHP 时我们是否应该放置结束标记就不太清楚了。有些人直截了当地说,我们需要混合 HTML 和 PHP 的文件中的结束标记,但没有任何证据说明原因,而另一些人则只解决纯 PHP 文件的情况,从而使其模棱两可。

如果代码库从所有文件中省略了 PHP 结束标记,是否有一些危险的副作用需要注意,即使它们包含 HTML?

【问题讨论】:

  • 嗯,根据我的经验,通常在混合文件中,大多数 PHP 都在文件的开头或开头,而不是结尾。在这些情况下,结束标记是必需的,因为您必须在 PHP 之后输出 HTML/Javascript,但如果它在末尾,则没关系,因此最好将其省略。
  • 我必须指出 php.net/manual/en/language.basic-syntax.phptags.php 正是文档在这个问题上不清楚的情况。它回答了为什么您不会在纯 php 文件中包含 ?> 标记,但暗示(通过省略)在混合 php 和 html 时需要它们。如果它明确说明在以下情况下您需要它们,或者您永远不需要它们会更好。

标签: php


【解决方案1】:

如果代码库从所有文件中省略了 PHP 结束标记,是否有一些危险的副作用需要注意,即使它们包含 HTML?

没有。

如果您想编写原始 HTML,则需要 ?> 切换到输出模式。

您永远不需要在整个文件的末尾添加?>

【讨论】:

    【解决方案2】:

    回答你标题中的问题:原因是他们不知道更好。他们将<?php?> 视为匹配括号,例如{},只是出于习惯而确保它们保持平衡。

    没有必要的技术原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-23
      • 1970-01-01
      • 1970-01-01
      • 2011-03-26
      • 2011-11-02
      • 2023-03-12
      • 1970-01-01
      相关资源
      最近更新 更多