代码之家  ›  专栏  ›  技术社区  ›  benhowdle89

这些方法之间的性能差异

  •  1
  • benhowdle89  · 技术社区  · 15 年前

    与其他陈述相比,这两种陈述是否有任何优点/缺点:

    <?php 
    $test = 1;
    $test2 = 2;
    $test3 = $test + $test2;
    echo "<p>Hello World</p>"; 
    ?>
    

    或者

    <?php 
    $test = 1;
    $test2 = 2;
    $test3 = $test + $test2;
    ?>
    <p>Hello World</p> 
    

    我要问的是,如果我正在使用PHP输出一个页面,我应该继续关闭PHP标记并将普通HTML插入或呼出HTML吗?哪个更好?

    5 回复  |  直到 15 年前
        1
  •  4
  •   oezi    15 年前

    如果你真的想准确一点,有三种选择:

    最慢的:

    echo "<p>Hello World</p>"; 
    

    更快一点(不需要检查内联的有效性,因为只有一个引号):

    echo '<p>Hello World</p>'; 
    

    最快的(根本没有php解释):

    <p>Hello World</p>
    

    但是在所有这些之间,差别是如此的简单以至于你永远不会注意到它——更重要的是:让你的代码可编辑并且在任何地方都以同样的方式执行,所以没有人会对阅读你的代码(并且必须维护它)感到困惑。我个人更喜欢第三种方法(这样我就可以在IDE中使用代码补全),但这是你的选择——我知道很多人使用echo输出所有东西。

    编辑: 完整地说,还有一些可能性我没有提到 heredoc -以及 nowdoc -语法,但这基本上与双引号/单引号相同。。。还有,你可以写 print 而不是回声等等,但那没什么区别。

        2
  •  3
  •   Yeroon    15 年前

    方法2更干净,因为您将PHP代码与HTML分离。你的IDE(如果你使用的话)可以解析你的HTML标签并自动完成它们,并且发现任何错误。

        3
  •  1
  •   DIMMACK    15 年前

    我不是一个PHP程序员,但我认为第二种方法更快,因为PHP不必处理echo语言构造、分配缓冲区和所有这些东西。它也更干净,而且修改HTML的麻烦更少。

    另外,学习使用HTML模板引擎来分离关注点也是明智的。Smarty几年前很流行,我不知道它现在是否还流行。

        4
  •  0
  •   Utku Zihnioglu    15 年前

    尽管差别可以忽略不计,但是应该将正常的输出从PHP标记中去掉。Echo命令必须由PHP解释器解析,然后作为输出发送。

        5
  •  0
  •   tomsseisums    15 年前

    唯一的区别是 echo(); 您指示PHP处理代码,否则根本没有区别。

    不管怎样,结果都是一样的,对于性能来说,几乎没有任何差别。就像。。。PHP需要多长时间来处理这个问题 回声(); ? 我认为用毫秒计算这么小的数字可能会有问题。呵呵。

    推荐文章