Php 如何封装模板层次结构

Php 如何封装模板层次结构,php,xml,templates,template-engine,Php,Xml,Templates,Template Engine,我正在寻找一种优雅的方式来封装/抽象网站/应用程序的模板结构。具体来说,我需要一种方法来确定使用哪个模板以及何时使用 我的研究发现了一些关于模板方法模式的文章(这是我发现的最好的),但这似乎解决了一个明显的相关问题 我想到的就是我熟悉的。我觉得这是武断和狭隘的。我需要一个结构,我可以定义(使用XML或其他东西)在一个具体的,易于可视化的方式,但我可以很容易地改变。用于确定要使用哪个模板的代码不应该因为结构本身的更改而更改。也就是说,模板层次结构和导航它的逻辑应该是松散耦合的 如果没有魔法,这可能

我正在寻找一种优雅的方式来封装/抽象网站/应用程序的模板结构。具体来说,我需要一种方法来确定使用哪个模板以及何时使用

我的研究发现了一些关于模板方法模式的文章(这是我发现的最好的),但这似乎解决了一个明显的相关问题

我想到的就是我熟悉的。我觉得这是武断和狭隘的。我需要一个结构,我可以定义(使用XML或其他东西)在一个具体的,易于可视化的方式,但我可以很容易地改变。用于确定要使用哪个模板的代码不应该因为结构本身的更改而更改。也就是说,模板层次结构和导航它的逻辑应该是松散耦合的


如果没有魔法,这可能吗??有没有成功解决这个问题的设计模式/框架/妙招?我能从中学到什么,真的。谢谢:)

这是我的团队在多个平台(ASP、.NET和PHP)中使用的常用方法。每个页面都来自添加菜单、内容、广告等的单个页面类。我们在内存中的XML文档中构建模板,模板类通过XML方法添加到其中。这允许轻松地重新标记,并且代码中没有HTML(我们使用XSL),这是我的团队在多个平台(ASP、.NET和PHP)中使用的常用方法。每个页面都来自添加菜单、内容、广告等的单个页面类。我们在内存中的XML文档中构建模板,模板类通过XML方法添加到其中。这允许轻松地重新标记,代码中没有HTML(我们使用XSL)