PHP是一种HTML内嵌式的在服务器端执行的脚本语言,所以大部分PHP开发出来的Web应用,初始的开发模板就是混合层的数据编程。虽然通过MVC设计模式可以把程序应用逻辑与网页呈现逻辑强制性分离,但也只是将应用程序的输入、处理和输出分开,网页呈现逻辑(视图)还会有HTML代码和PHP程序强耦合在一起。

类型

可以在PHP中应用的并且比较成熟的模板有很多,例如Smarty、PHPLIB、IPB、xingTemplate等几十种。使用这些通过PHP编写的模板引擎,可以让你的代码脉络更加清晰,结构更加合理化。也可以让网站的维护和更新变得更容易,创造一个更加良好的开发环境,让开发和设计工作更容易结合在一起。但是,对于一个PHP程序员来说,没有哪一个PHP模板对他是最合适、最完美的。因为PHP模板就是大众化的东西,并不是针对某个人开发的。如果能在对模板的特点、应用有清楚的认识基础上,充分认识到模板的优势劣势,就可以知道是否选择使用模板或选择使用哪个模板。

1、smarty

smarty是一个基于PHP开发的PHP模板引擎。它提供了逻辑与外在内容的分离,简单的讲,目的就是要使用PHP程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美工的页面设计,美工重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。

2、Template Lite

Template Lite是一个非常快而且很小HTML模板引擎。该引擎支持Smarty模板引擎所具有的大部分功能和过滤器。

3、TinyButStrong

TinyButStrong(TBS)是一个可以让PHP脚本和HTML文件干净分离的PHP模板引擎。TBS设计成可以使用任何可视化HTML编辑器来编写TBS的HTML模板页。

4、XTemplate

XTemplate是一个适用于PHP的模板引擎。它允许把HTML代码与PHP代码分开存储。XTemplate包含了许多有用的功能比如嵌套的程序块,各种类型的插值变量。其代码非常简洁并且是最优化的。

5、Savant

Savant是一个强大但轻量级的面向对象PHP模板引擎。不象其模板系统,Savant默认没有把模板编译成PHP,而是使用PHP本身来作为它的模板语言所以你不需要学习一套新的标记系统。Savant有一个面向对象的模板插件系统和输出过滤器,可以让你快速为它新增新的行为。

6、phemplate

phemplate是一个简单而且快速的PHP模板引擎。它允许在模板中加入变量和一些动态程序块包括循环。该模板引擎能够可以实现表现与逻辑相分离,也就是说你可以从PHP脚本中抽出所有HTML内容。设计人员可以随意更改HTML而不用担心弄乱你的PHP脚本。

7、Dwoo

Dwoo是一个PHP5模板引擎。兼容Smarty模板,它在Smarty语法的基础上完全进行重写。支持通过插件扩展其功能。

8、Sugar

Sugar是一个类似于Smarty的模板引擎,拥有一个简洁和易于理解的语法。

9、Twig

Twig是一个灵活,快速,安全的PHP模板语言。它将模板编译成经过优化的原始PHP代码。Twig拥有一个砂箱模型来评估不可信的模板代码。Twig由一个灵活的词法分析器和语法分析器组成,可以让开发人员定义自己的标签,过滤器并创建自己的DSL。

10、FXL Template

FXL Template是一个易于使用的模板引擎,提供了一个模板系统所拥有的所有基本功能。支持简单的text/array分配,block和嵌套的blocks。拥有良好的规则表达式和简单的模板语法,以实现尽可能快的模板处理。

11、H2o

H2o是一个PHP模板引擎,它拥有django风格的漂亮模板标签。它大部分概念都源于Django模板。特性:拥有可读和自然的语法。复用模板Inclusion和继承。国际化支持。各种缓存支持。

12、ns-template

2010年大约5月份时,感受到DEDE标签主动调用数据理念适合CMS,所以开发了一些Smarty自定义修改器和自定义标签,但是在执行过程中性能低下,开销以s计,这是无法容忍的。分析跟踪,受自定义标签实现的原理限制不可能快。于是在dz模板的基础上加入了不少smarty语法以及自定义标签功能。经历了一年多线上运行和bug修复,并且弥补了DEDE标签多级嵌套问题后,在较稳定的情况下释出该版本。

13、Blade

Blade是Laravel框架下的一种简单又强大的模板引擎。Blade 非常快,因为仅使用了少量的正则表达式来为你的模板编译成原始PHP代码。不同于控制器布局,Blade模板引擎由模板继承和模板片段驱动。所有的Blade模板文件必须使用Blade.blade.php文件扩展名。


聊聊php模板引擎都有哪些