【问题标题】:Why separate PHP from HTML in a code as much as possible?为什么在代码中尽可能将 PHP 与 HTML 分开?
【发布时间】:2013-05-27 06:10:52
【问题描述】:

现在我已经两次询问并得到答复,我应该在代码中尽可能地将 PHP 与 HTML 分开。而不是使用:

<?php
echo "<p>The value of x is $valuex greater.</p>";
?>

我应该使用的:

<p>The value of x is <?php echo $valuex; ?> greater.</p>

除了格式还有什么我应该知道的区别吗?

【问题讨论】:

  • 这样设计师和程序员可以在同一个项目上工作。它还允许您自定义“外观”,而不会冒破坏 PHP 代码的风险。

标签: php html output


【解决方案1】:

PHP 的一个独特之处在于它既可以用作服务器端语言,也可以用作模板语言。。理想情况下,您的代码将分为控制器和视图,其中您的控制器是 PHP(没有任何 HTML),而您的视图是 大部分 HTML(使用最少的 PHP)。当您编写控制器时,PHP 就像任何其他服务器端语言一样。但是当你编写视图时,PHP 变成了一种模板语言,在这种情况下,HTML 应该成为主导。

将两者分开的另一个很好的理由是语法高亮。在您的第一个示例中,大多数编辑器不会意识到字符串中的文本实际上是 HTML,因此他们不会知道应用语法突出显示。这意味着您的代码可能会比实际更难阅读,从而使后续开发人员的生活变得困难。

【讨论】:

    【解决方案2】:

    区别在于:

    <?php $valuex = 6; ?>
    
    <p>The value of x is <?php echo $valuex; ?> greater.</p>
    

    这里只需要回显php变量部分。

    <?php
    echo "<p>The value of x is $valuex greater.</p>";
    ?>
    

    这里你需要回显整个部分。

    【讨论】:

    • 所以这只是格式?没有'如果你分开加载会更快'之类的?
    • 第一个加载时间接近0.0395700931549 sec,第二个加载时间接近5.29289245605 E-5 sec
    • @J.A.W.S.IbañezII 如果真的有帮助,您可以投票.. :)
    【解决方案3】:

    第二个需要echo

    <p>The value of x is <?php echo $valuex; ?> greater.</p> 
    

    或者简单地说,

    <p>The value of x is <?=$valuex ?> greater.</p>
    

    阅读: What's the best way to separate PHP Code and HTML?。另请阅读Escaping From HTML

    【讨论】:

    • 如果您使用的是 php 5.2+,则可以使用 &lt;?= $valuex ?&gt; 表示法。
    • 对不起。我只是忘记了回声...还有其他区别吗?像加载速度更快,因为更少的进程或什么?
    • 我觉得你应该更关心readability & formatting 而不是速度。
    【解决方案4】:

    两种情况下的输出都是一样的。

    第一个例子是 PHP 输出 HTML 代码 第二个示例是其中包含 PHP 的 HTML 代码 “理想”的例子是这样的:

    <p>The value of x is <?=$valuex?> greater.</p>
    

    【讨论】:

      【解决方案5】:

      在第一个上改变语法

      <?php
         echo "<p>The value of x is ".$valuex." greater.</p>";
      ?>
      

      在第二个中更改以回显类似的值

      <p>The value of x is <?php echo $valuex; ?> greater.</p>
      

      但是两个符号是相同的,并且工作相同

      【讨论】:

        【解决方案6】:

        这样做的原因是坦率地说,您总是希望尽可能灵活。但是,将您的 php 与 html 混合意味着您的 php-core 与您的模板混合在一起,因此您将很难维护、更改和提供不同的模板/语言等。因此,请始终将其分开。

        【讨论】:

          【解决方案7】:

          将 HTML 和 PHP 代码分开时,维护代码要容易得多。

          【讨论】:

            猜你喜欢
            • 2012-11-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-01-06
            • 2012-08-19
            • 2014-10-16
            • 1970-01-01
            相关资源
            最近更新 更多