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