当我们在PHP中讨论模板引擎时,许多开发人员会告诉你,这是没有必要的,他们会说这是学习时间和资源的浪费,因为PHP本质上也是一个模板引擎。但是当你看过很多框架之后,你会发现很多框架都会有模板引擎的存在,所以说php中的模板引擎还是有必要了解一下的。
Mustache
受ctemplate和et等的启发,Mustache是一种与框架无关的方式来呈现无逻辑视图。正如ctemplates所说,它强调将逻辑与表示分离:不可能将应用程序逻辑嵌入到这种模板语言中。视图不是由ERB或HAML组成的视图,而是包含随机帮助器和任意逻辑,而是分为两个部分:PHP类和HTML模板。所有逻辑、决策和代码都包含在视图中。所有标记都包含在模板中。模板除了在视图中的引用方法外,什么都不做。这种严格的分离使编写干净的模板更容易,更容易测试视图,并且更有趣地处理应用的前端。
以下代码段提供了Mustaches语法外观的预览:
Hello{{name}}Youhavejustwon{{value}}dollars!{{#in_ca}}Well,{{taxed_value}}dollars,aftertaxes.{{/in_ca}}
Plates
plates是一个原生PHP模板系统,快速,易于使用,易于扩展是它的特性。它受到出色的Twig模板引擎的启发,并努力将现代模板语言功能引入PHP模板中。plates原生的PHP模板而不是编译的模板语言(如Twig或Smarty),因此受到对速度要求极致的开发人员喜爱。
此模板引擎具有:
原生的PHP模板,无需学习新语法plates是模板系统,而不是模板语言plates鼓励使用现有的PHP函数通过模板布局和继承增加代码重用用于将模板分组到命名空间的模板文件夹跨模板的数据共享将数据预先分配给特定模板内置逃生帮助器易于使用的功能和扩展与框架无关,将与任何项目配合使用分离设计使模板易于测试可以使用