一.什么是模板引擎
模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。
Web表现层最简单的形式是普通的HTML文档。PHP可以帮助我们轻松地将动态内容插入HTML文档,不过当程序代码变得复杂时,这种结合就会带来诸多不便。PHP代码和HTML就想一个连体婴儿,这个时候我们需要把他们分开,使得代码的可读性提高,更便于我们维护,这样就可以让美工专心设计HTML前台页面,程序专心去编写
PHP业务逻辑了。
我们所说的模板是Web模板,是主要由HTML标记组成的语言来编写的页面,但也有如何表示包含动态生成内容的方式(解析标签)。
模板引擎是一种软件库,允许我们从模板生成HTML代码,并指定要包含的动态内容。
二.模板引擎的特点
1.鼓励分离:让系统的可读性和维护性得到提高。
2.促进分工:使得程序员和美工去专心处理自己的设计。
3.比PHP更容易解析:编译文件和缓存文件加载更快、占资源更少。
4.增加安全性:可限制模板设计师进行不安全的操作的能力避免误删误访问等。
三.模板引擎的工作流程
1.首先要有一个纯的PHP文件(index.php),模板文件(templates/index.tpl),模板类(includes/Templates.class.php),模板解析类(includes/Parser.class.php),系统变量库(config/profile.xml)
2.纯的php文件,模板文件和模板解析类通过模板类进行处理,在处理的过程中,如果遇到变量或者特殊标签要通过解析类进行解析,然后生成一个PHP+HTML混合的编译文件,第一次是执行该编译文件,执行该编译文件时,将表现在页面的内容放在缓冲区,然后将缓存保存在一个文件(纯HTML的静态缓存文件)中,如果模板文件和编译文件都没有修改时,再次执行时页面直接载入缓存文件,使得载入效率加快!
四.模板引擎的设计流程