用php还是html写dom元素效率更高? | 珊瑚贝

Is it more efficent to write dom elements with php or html?


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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?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“”;
?>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<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>

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

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


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

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

所以别担心!以您觉得更容易阅读的方式编写它,因为这会有所不同。无论 echo 是否比原始输出更快 – 都没有关系。


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

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

还有另一个问题在讨论这个问题:Escape HTML to PHP or Use Echo?哪个更好?

  • 我还要补充一点,纯 HTML 更易于维护,因为它更容易阅读代码。 (当你避免混合事物时,更容易使事物井井有条。
  • 你是对的。我刚刚链接的主题中几乎涵盖了这些内容,因此我认为没有必要详细介绍


来源:https://www.codenong.com/14647019/

微信公众号
手机浏览(小程序)

Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_9735.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
0
分享到:
没有账号? 忘记密码?