我应该使用PHP将整个内容包装在<! - ?php? - >中吗?

时间:2010-11-11 06:38:23

标签: php

以下2有什么区别吗?

来自html的1个独立的PHP代码

<html>
<body>
  <?php // php code 1 ... ?>
  <div> ... </div>
  <?php // php code 2 ... ?>
  <div> ... </div>
  <?php // php code 3 ... ?>
</body>
</html>

2内部的所有内容

<?php
echo "<html>";
ehco "<body>";
// php code 1 ...
echo "<div> ... </div>";
// php code 2 ...
echo "<div> ... </div>";
// php code 3 ...
echo "</body>";
echo "</html>";
?>

哪个更快?

6 个答案:

答案 0 :(得分:4)

这不是提高速度的方法。如果您对自己的应用效果不满意,请使用分析器并找到最慢​​部分。之后 - 优化最慢​​部分。

“我优化易于优化的事物”的方式总是最糟糕的。

答案 1 :(得分:1)

第一个更快,因为解释器只关注标签内的代码。

第二个不应该使用,双引号被解释为查看内部是否有变量。当你不想要解释字符串时,你应该总是使用简单的引用。

答案 2 :(得分:1)

通常的用法是您在第一种形式中列出的内容,尽管在某些情况下,例如生成<a href="..." ... >link word</a>的辅助函数,然后您将在PHP代码中生成HTML。或者,如果你有一个生成一个表的函数,或者一个ul,其中有许多li打印出来自数组或散列内的数据。

答案 3 :(得分:1)

无论性能差异如何,你都会发现没有实际意义和学术性。选择第一个表单。第二种形式不是面向未来的。 HTML页面布局的简单更改需要软件工程师。第一个只需要一个有创造力的设计师。

答案 4 :(得分:0)

在服务器上安装了操作码缓存(参见:APC,eAccelerator),无论哪种方式都无关紧要,因为页面只有在第一次被访问时才被解释。

答案 5 :(得分:0)

性能:

也许第二个例子稍慢,因为它会进行更多的函数调用&amp;当字符串在双引号内时,解释器将查找要替换和转义序列的变量,例如。 \ n

还需要解析PHP块。这可能与您的脚本在加速器上预编译/运行无关。

格式:

第一个示例将生成自动格式化缩进的HTML代码。 第二个例子将生成全部在一行上的代码。这不是一个问题,因为这可以纠正。

可读性:

也许第一个例子更具可读性。例如。 IDE可以突出显示HTML的语法,并单独为PHP

其他:

如果代码在框架中并且标记被提取到较小的函数,子类等中,那么第二个例子可能是更优选的选择吗?