使用php或html编写dom元素更有效吗?

时间:2013-02-01 13:08:36

标签: php html performance pagespeed

我正在构建一个混合了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>

速度有何不同?完全没有?我只是感兴趣。干杯

2 个答案:

答案 0 :(得分:2)

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

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

所以不要担心!以您发现更清洁的方式进行书写,因为这会产生影响。无论回声是否比原始输出更快或更快 - 无关紧要。

答案 1 :(得分:1)

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

不回显html内容更快,因为如果你这样做,php必须解析更多内容。但差别很小,甚至可能都不显着。

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