PHP html DOM与纯HTML的速度对比问题

4

这是一个简单的问题,但是在一个只有PHP回显结果的简单HTML页面和一个仅由PHP DOM构建的HTML页面之间,哪个更快呢?

感谢您的答案和建议!


请友好点!这只是一个简单的问题。 - Mike Boutin
3
除了可能是重复问题之外,我不明白为什么人们要投反对票,这个问题应该对未来的参考有用。 - Fabrício Matté
谢谢Fabricio,我也这么认为^^ - Mike Boutin
3个回答

3

太多未知变量...

使用DOM可以快速将大量信息放入树中;使用echo需要以其他方式跟踪(元)数据。对于打印静态页面,不应该使用DOM。对于在构建期间大量修改的页面,您可能希望使用DOM。

这个问题没有标准答案。您需要为自己的特定用例进行基准测试。


但您可能也珍视时间...我希望如此。即使使用DOM呈现页面可能会更慢,但让项目增长将更容易。编写使用echo调用的模块系统很快就会变得混乱。


这将是一个Web应用程序。标题将保持不变,但内容和侧边栏也会改变...我想要干净的代码,易于使用我的page.class.php进行更改。如何对比这2个页面进行基准测试?您知道它是否会有很大的影响吗?谢谢您的回答。 - Mike Boutin
1
请看我的更新。但很抱歉,我没有实际的测量数据。但我有维护混乱的PHP代码的经验。;-) - Kijewski
1
今晚我会进行一些测试,并带来一些反馈 ^^ - Mike Boutin
对于一个带有 doctype、metas 和 title 的简单页面,需要 6 毫秒,而在纯 HTML 中只需 3 毫秒...但我将继续使用 DOM 方式来检查一个大页面受到了多少影响。 - Mike Boutin

2

没有比直接访问纯HTML文件更快的了。最好使用.html扩展名。

PHP代码必须经过PHP解释器,这是一个额外的步骤。

对于每种服务器端语言(C#,PHP,Python,Java,Node.js等),情况都是如此。


1

你应该尝试一些MVC框架,比如Code Igniter。

反复编写相同的代码是不好的。

你可以像这样拆分你的网站。

 ____________________________________
|                HEADER             |  // Header.php
|___________________________________| 
|                     NAV BAR       |  //menu.php
|___________________________________|
|                                   |  
|                                   |
|    Content                        | //Content {Different pages based on menu clicked}
|                                   |
|___________________________________|
|          FOOTER                   | 
|___________________________________|  //Footer.php

所以你的所有页面都会像这样

<?php
    include(header.php);
    include(menu.php);

    //based on menu clicked 
   include('clickedPage.php')

  //Finally
  include('footer.php');
?>

2
有些人告诉我,CodeIgniter的代码不正确,我最好不要碰这个框架...但是基本问题并不是这个。谢谢你的建议。 - Mike Boutin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接