一、模板引擎产生背景
在上一篇文章PHP学习笔记FOR前端人员—-1中介绍了PHP的写法,拿出其例子test.php如下:
<html> <head><?php echo title ?></head> <body> </body> </html>
如果用这种方法构建的页面,业务逻辑和页面是合并在一起的,程序员既要写HTML又要写PHP,这是一个挑战。所以需要逻辑代码和外在内容分离,需要拆分工作。产生如下的思想:
在HTML里,本来应内嵌PHP的地方(本来是PHP的变量的地方)插入占位符,上面的例子改写如下:
<html> <head>{title}</head> <body> </body> </html>
{title}即是动态变量,{}是占位符。这是模板文件,还需要一个数据文件,即一个.php文件,此文件进行数据的封装。
所以有两个文件:一个是美工写的外在内容(模板),一个是RD写的数据封装(PHP文件)。
这样就分离了美工和程序员、分离了外在内容和逻辑代码。
美工不用考虑数据是如何来的,其只用取到数据即可。所以美工需要连接数据库,获取到数据即可。
而程序员呢只需要扔数据给美工。
在这里共写了两个单独文件,如何把这两个文件组合成一个页面呢?为了应对这个问题,模板引擎应运而生。
二、模板引擎做什么?
如上,模板引擎主要把美工写的模板和RD写的数据文件这两个文件组合起来。所以个人觉得smarty像桥梁一样,只是作为一个工具在使用,只要遵循工具的使用方法即可。
三、smarty介绍
smarty作为PHP非官方主流模板引擎,有其自己的语言,但是语言简单。对于美工人员来说,学习smarty语言比学习PHP语言要容易的多。
对smarty的学习可以下载smarty看一下里面具体源代码。