【问题标题】:Why generate simple HTML via PHP heredoc? [closed]为什么要通过 PHP heredoc 生成简单的 HTML? [关闭]
【发布时间】:2012-12-22 10:22:20
【问题描述】:

我继承了一个网站,我需要对其进行一些更改。与往常一样,在网站开发中有很多方法可以做事。然而,这个特定的网站让我感到困惑。所有的 html 都是通过 heredoc php 脚本提供的。但是,没有人做任何 php 处理。

例如(仅结构)index.php:

<?php
$html = <<<html

<html>
    <head></head>
    <body>
        {more simple HTML here.  No php processing to be done}
    </body>
</html>
html;
echo $html;
?>

我了解 php,但我不明白为什么他们以这种方式生成页面,而不是在没有 php 变量处理的情况下简单地交付它。在我假设这个人不知道他们在做什么之前,我想我会问。有什么想法吗?

这是我在 StackOverflow 上的第一篇文章,因此也欢迎对论坛礼仪提供反馈。

【问题讨论】:

  • 这里是 heredoc 详细信息,可能对您有用:in3.php.net/manual/en/…
  • 通常人们倾向于在保存到实际文件之前使用他们玩过的 xml 文档来执行此操作......现在在我看来,构建页面的编码器不喜欢 懒惰的服务器理想。
  • 就 SO 礼仪而言,只需阅读 FAQ。您的问题写得很好而且很清楚,这是一个很好的开始!
  • 我发现这个人正在使用代码生成 GUI 来创建站点。我认为他没有直接编辑任何文件。 heredoc 格式只是程序生成代码的方式。非常感谢您的快速反馈!

标签: php html heredoc


【解决方案1】:

这可能是因为他们打算在 HEREDOC 中使用 PHP 变量。您的示例没有这些,但我会冒险猜测它们在某些地方使用。从那里开始,我会想象 HEREDOC 在任何地方都使用以保持一致性。

【讨论】:

  • 事实证明这是正确的。这些文件是由网站构建程序生成的。
【解决方案2】:

使用 heredocs 的原因可能是因为您不必在 heredoc 中转义引号或担心引号,而字符串文字您必须相应地管理引号。

虽然将 HTML 保存在单独的文件中或使用模板系统更为常见 - 通常这将是比 heredocs 或字符串文字更好的选择。

【讨论】:

  • 我想他们想知道:为什么将 HTML 存储到变量中然后回显它?转义 PHP 然后只“裸”包含它不是更好吗?
  • @GigaWatt 这正是我想知道的。对纯 html 使用heredoc 格式似乎很奇怪。但是,我发现 php 文件是由另一个用于创建站点的程序生成的。这是生成器的默认输出方法。
【解决方案3】:

PHP 文件已经是 HTML 中的模板文件。

将您的代码替换为:

<html>
    <head></head>
    <body>
        {more simple HTML here.  No php processing to be done}
    </body>
</html>

在 PHP 文件的正文中,在 &lt;?php?&gt; 之外,只要有 HTML,就会返回 HTML。

【讨论】:

  • 我同意。我将更改代码以使其更清晰。
【解决方案4】:

您可能会花费数周时间试图了解一位传统开发人员,但这只是在浪费时间。

我建议将代码重构为在这些情况下不需要 PHP 中的任何内容,做他们所做的事情没有任何好处,而且每次编辑它时都会给你带来不和谐的体验。

【讨论】:

  • 这就是我要做的。除了没有任何好处之外,我的编辑器将代码解析为 PHP 而不是 HTML。这对我来说是一种痛苦。
猜你喜欢
  • 1970-01-01
  • 2022-09-27
  • 2011-03-01
  • 1970-01-01
  • 2014-11-02
  • 2011-08-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多