2012-04-11 63 views
1

什么是好/更快:直接HTML或PHP生成html

例如:

静电/ HTML直接:

<?php 
for($i=0;$i<$sth;$i++) { 
?> 
<tr> 
<td> 
<?php echo $content; ?> 
</td> 
</tr> 
<?php 
} 
?> 

OR

PHP生成的HTML:

<?php 

for($i=0;$i<$sth;$i++) { 

echo "<tr><td>".$content."</td></tr>"; 

} 

?> 

我选择哪个选项有什么关系?

谢谢

+1

两者都是PHP产生,你的标题是有点混乱:S – 2012-04-11 09:13:30

+0

字符串contatenation,如'回声“​​” $内容“”;'通常被认为是一个坏主意,如果你能避免它。 ,所以第一种方法可能会给你更好的表现。但不要过早地不优化... – 2012-04-11 09:14:22

+1

速度差异可以忽略不计。如果您真的关心速度,请注意单引号更快(PHP解析双引号字符串以进行字符串插值)。就我个人而言,我讨厌打破PHP的循环,但这只是我个人的偏好。 – TRiG 2012-04-11 09:18:03

回答

4

这不是一个速度问题,它可能会根据用例而有所不同,但会使代码变得干净和可维护。实际上,这两个例子都使得代码难以维护和阅读。 我建议使用简单和轻量级的模板引擎来分离演示文稿中的所有逻辑。

+1

没错。一个强大的MVC框架值得研究,即使是一个Web开发初学者! – 2012-04-11 09:15:41

0

第一种方法应该更快,因为它不涉及很多字符串连接。在代码可读性方面也更好。

+0

秒会更可读,如果你只是删除“。”。在变量周围,比第一种方法更少的代码.. – Dion 2012-04-11 09:15:12

1

我认为这两者之间没有实质区别,问题应该是“哪一个更具可读性”恕我直言,我认为使用php和html内联远不如回显php可读性强。但那只是我的想法。

-1

我认为第一个解决方案:

它更清晰,不需要与字符串PHP阐述到dispplay简单的静态内容

1

更好:生成的HTML。使用php生成的html更容易维护,更易于阅读。

更快:没有显着的速度差异。但是,在从数据库加载内容等的大型动态网站上,事情可能需要多一点的时间来输出。但是,你在更新静态HTML文件所花的时间比编辑动态内容多了不少..

转到动态:]

1

在这种情况下,“PHP生成的HTML”会更快,因为你只是做一个回声,在“STATIC/direct HTML”中,你正在做$ sth回声。如果$ sth为零,那么“STATIC/direct HTML”会更快。

但严重的是,页面被解析和优化/标准化,所以它没有任何区别。较少的解析可能会更快,因为上下文切换较少,但这是最小的部分(与运行它相比),因此它可以忽略不计。

只需选择您感觉舒适的风格即可。

+0

在编写我的评论时,原文有错误。 – 2012-04-11 09:21:56

1

两个代码代表相同的东西,不区分速度,但第二个代码可能会快一点,因为代码不包含多个入口和出口标志。

<?php ?> 

这将进行得更快。