最有效的呈现HTML和PHP的方法

时间:2012-05-10 08:02:46

标签: php optimization

使用PHP和HTML呈现页面的最有效方法是什么?

级联

$html = '<span><img src="page.png" alt="page" />'.$variable1.'</span>';
echo $html

更换变量

$html = "<span><img src=\"page.png\" alt=\"page\" />{$variable1}</span>";
echo $html;

内联PHP标记 - 即使它在大规模上效率最高,这似乎也不实用

<span><img src="page.png" alt="page" /><?php echo $variable1; ?></span>

请假设您生成整页。我使用上面的代码作为每种方法的一个例子。

谢谢!

3 个答案:

答案 0 :(得分:1)

这实际上取决于你想要实现的目标。

如果它只是渲染一个简单的页面,最有效的方法是使用单引号(基于基准)连接代码(即使差异不那么重要)。

但我猜你正在建立一个网站,你会广泛使用html + php。如果是这样,我建议您使用模板引擎,或者直接使用PHP。

使用任何模板引擎当然会降低性能,但它会提高项目的可读性并以更好的方式构建它。 “失去性能”/“可读性 - 维持”的比例是值得的。你应该去做(再次,如果你计划渲染许多html页面)。请参阅MVC Design Pattern

现在,对于模板引擎,我建议您直接使用PHP,因为它最初是为此目的而开发的。你可以找到许多最终在模板中使用php的模板引擎,同样适用于Frameworks。例如,如果您查看Code Igniter,您会看到模板是由php构建的。

现在,出于安全考虑,在模板中使用PHP很大程度上取决于谁将编辑模板。如果只有你,或者你完全信任的人,你应该去做。如果您的用户能够编辑模板(出于任何原因),那么我绝对应该避免它,因为他们可以在您的服务器上做任何他们想做的事情,包括点击数据库,查看所有文件(甚至配置文件)等

答案 1 :(得分:1)

没有足够的性能差异来衡量或衡量。做最可读的事情。在我(很多)PHP应用程序中,我主要使用带有短标签的嵌入式PHP替换:

<p><?= $text ?></p>

答案 2 :(得分:0)

最好的方法是:可读和可维护。

话虽如此,我可能会使用模板引擎(如twigsmarty),但如果不可用,我肯定会使用内联php标记(在Zend Framework视图和视图中使用) Symfony成功模板)。

如果我必须在php中生成html,我会去sprinft('<img src="%s">", $src');或连接。

我真的非常不喜欢使用{$var}$html = "$var"