【问题标题】:Is it more efficent to write dom elements with php or html?用php还是html写dom元素效率更高?
【发布时间】:2013-01-16 19:23:25
【问题描述】:

我正在构建一个混合了 php 和 html 的网站,我的静态内容在 html 中,动态/数据库驱动的内容显然是用 php 回显的。然而,我发现自己有时会在 php 中添加 html 标签,这不需要在 php 中,我只是想知道写作之间的效率是否存在差异......例如......

<?php
$result = mysql_query("SOME QUERY") or die(mysql_error());
$num_rows = mysql_num_rows($result);
echo "<ul id=\"someid\">";
while ($row = mysql_fetch_array($result)) {
echo "<li>RAR RAR</li>";
}
echo "</ul>";
echo "<div class=\"clearfix\"></div>";
?>

<ul id="someid">
<?php
$result = mysql_query("SOME QUERY") or die(mysql_error());
$num_rows = mysql_num_rows($result);
while ($row = mysql_fetch_array($result)) {
echo "<li>RAR RAR</li>";
}
?>
</ul>
<div class="clearfix"></div>

速度有什么不同吗?一点都不?我只是感兴趣。干杯

【问题讨论】:

  • 不要怀疑它。如果您想浪费一些时间,可以对其进行测试(这是确保大多数情况下更快的唯一方法),但最后:这是一个微优化,将在网络延迟之间完全丢失, I/O 等耗时的东西,不值得去优化。
  • 不要担心哪个更快(如果您的意思是“更快”,请说“更快”)。担心哪个更容易让您作为人类阅读,以及需要维护代码的其他人。

标签: php html performance pagespeed


【解决方案1】:

一般来说,最好的做法是不要像在两个示例中那样将 HTML 与 PHP 混合使用。你想用 打开文档并且永远不要关闭它。回显 HTML 代码,可能使用heredoc 语法。

在性能方面没有任何重要的区别。这就像想知道 is_null 是否比 ===null 更快 - 是的,=== 稍微快一点,但没人关心,因为单foreach 循环对性能的影响可能比这个大很多倍。

所以别担心!以您认为更清晰的方式编写它,因为这会有所不同。无论 echo 是否比原始输出更快 - 都没有关系。

【讨论】:

    【解决方案2】:

    首先 - 你应该停止使用 MySQL。自 PHP 5.5 起已弃用,不再维护。您有 2 种选择:MySQLi 和 PDO。此外,您应该删除or die(),因为您不希望您的客户(甚至更糟 - 潜在的黑客)看到错误消息:)

    不回显 html 内容会更快,因为如果这样做,php 将不得不解析更多内容。不过差异很小,可能甚至不明显。

    还有一个问题在讨论这个问题:Escape HTML to PHP or Use Echo? Which is better?

    【讨论】:

    • 我还要补充一点,纯 HTML 更易于维护,因为它更易于阅读代码。 (避免混淆时,更容易保持井井有条。
    • 是的,你是对的。我刚刚链接的主题中几乎涵盖了这些内容,因此我认为没有必要详细介绍
    猜你喜欢
    • 2019-02-14
    • 2014-01-11
    • 2022-01-22
    • 1970-01-01
    • 2011-10-08
    • 2012-02-29
    • 1970-01-01
    • 1970-01-01
    • 2016-04-09
    相关资源
    最近更新 更多