使用PHP的echo编写HTML与编写纯HTML会在性能上有什么区别吗?

6
在Web服务器的CPU优化方面,哪种方式更好?是编写纯HTML并在其中插入PHP代码,还是使用模板引擎?
<script type="text/javascript">$(document).ready(function(){$('#search').focus();});</script>
<div id="default">
    <div class="left">
        <?include(DIR_DIV.'facebook.php')?>
    </div>
    <div class="right">
        <?include(DIR_ADS.'google.300x250.php')?>
    </div>
    <div class="sep"></div>
</div>

在PHP中使用echo编写所有HTML代码,是否可行?
echo '<script type="text/javascript">$(document).ready(function(){$(\'#search\').focus();});</script>';
echo '<div id="default">';
    echo '<div class="left">';
        include(DIR_ADS.'google.300x250.php');
    echo '</div>';
    echo '<div class="right">';
        include(DIR_DIV.'facebook.php');
    echo '</div>';
    echo '<div class="sep"></div>';
echo '</div>'

这种区别有关紧要吗,还是微不足道?
4个回答

14

最后,这个区别是否重要还是无关紧要的?

就性能而言,没有任何影响,完全可以忽略不计。

但就可读性而言,它确实很重要——我发现第一个块比第二个块更易读。像这样将HTML包装到PHP代码中是毫无意义的——首先,这会使调试变得更加困难。


2

第一个块可以称为php模板,第二个则是纯PHP。

实际上这取决于你将写什么。如果是HTML - 使用第一个,如果还是PHP,仍然使用第一个,只需将其分离到不同的文件并用作模板即可 :)


1

如果你使用echo编写整个页面(尤其是复杂的页面),可能会增加一些开销,因为所有这些行都需要在服务器端执行。

我尽量避免使用这种方法,因为其他答案中提到的可读性问题,但在某些情况下(例如基于某些值进行分支)可能需要使用这种方法。


1

就服务器如何看待它而言,这两者实际上没有任何区别。关键在于更新起来有多容易。您可能会遇到单引号和双引号的问题,因为您需要确保转义与用于包含 HTML 的相同类型的引号相同,例如

echo " <span class=\"first\">".$first."</span>";

有时在长页面中,这可能会很麻烦。

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