将PHP块洒在文档中还是使用带有锚点的PHP DOM更好?

时间:2010-07-27 21:52:11

标签: php dom

使用PHP创建HTML文档的最佳方法是什么?我发现当页面有大量动态生成的内容时,使用<?php ?>块会变得非常混乱。我正在考虑使用PHP DOM操作库将动态内容插入文档中的“锚点”。这将导致更清晰的文档布局,因为所有PHP都在一个地方而HTML在另一个地方。

使用PHP块与使用PHP DOM操作的可读性/性能优缺点是什么?使用PHP创建HTML文档的公认惯例是什么?

2 个答案:

答案 0 :(得分:3)

很久以前,我相信“锚点”是要走的路。那时候我使用了Smarty模板引擎。帮自己一个忙,跳过那个阶段。你看......你很快就会发现你的页面中需要一些基本的控制结构。这里有一个小循环,有一个小条件。在您了解它之前,您将实现自己的小编程语言来解析这些锚点。

当它开始曙光时,PHP实际上是一种强大的模板语言。这是目前许多框架采用的方法。我建议看一下Zend Framework的Zend_View。他们做了一个漂亮的小东西,他们使用输出缓冲来捕获包含的PHP页面的结果。这允许他们有趣的东西,比如将数据分配给对象并使用$ this-&gt;检索它。在模板中。

它归结为你想要在你的页面中做什么......关注点,即将你的“演示”与业务逻辑分开,几乎总是一个好主意。如果你将自己局限于表示逻辑,那么自然会发现你的页面只包含你真正需要的PHP。如上所述..一个while循环,一些If。应该是它。

参见:MVC模式

答案 1 :(得分:2)

有几种做法可以解决这个问题:

1)PHP和HTML混合在一起。 2)使用模板。

你提出了一些我从未听说过的东西,可能是因为它有问题或效率低下。比方说,它可以被视为一种模板,但是有更简单的方法来达到目标​​。

模板是一种尽可能多地分离HTML和PHP的方法。您可以使用大模板框架,例如Smarty,但在我看来,最好保持简单并使用类似的东西:http://www.massassi.com/php/articles/template_engines/我认为这是PHP世界中广泛使用的最佳实践,它也是你问题的答案。 / p>