我希望通过将布局与内容生成分开来构建一个 HTML 页面。我打算说一个带有 div 元素矩阵结构的 layout.php 页面(比如 3*3)。对于位置(1,3 - 第一行,第三列)的 div,我希望调用一个广告模块,该模块将返回一个旅游广告。对于 location(2,3) 处的 div,将调用相同的模块,但这次将返回电子产品的 HTML。
这里的目的是将布局与内容生成分开。所以我可以很容易地改变布局。例如,对于位置 (2,3) 而不是静态广告,我可以调用一个天气模块,它返回显示天气数据的 HTML。
我能想到的一种方法是拥有一个 adv_module.php,它具有类和成员函数来返回适当的广告 HTML,php 代码如下,即
include_once(adv_module.php);adv1 = new ADV_MODULE(); echo adv1->getAd(category=travel)
:
:
include_once(adv_module.php);adv2 = new ADV_MODULE(); echo adv2->getAd(category=electronics
)
但是 HTML 必须在成员函数中构建。这导致了很多丑陋的 php 代码散布在 HEREDOC 元素中以帮助构建 HTML。HEREDOC 不允许条件、循环等
有一个更好的方法吗?如果可能的话,我希望避免使用模板(Smarty like packages)。