以下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>"; ?>
哪个更快?
答案 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
其他:
如果代码在框架中并且标记被提取到较小的函数,子类等中,那么第二个例子可能是更优选的选择吗?