Smarty是(shì)一个使(shǐ)用PHP写出来的模板(bǎn)引擎,是(shì)目前业(yè)界(jiè)最著名的PHP模板引(yǐn)擎之一(yī)。它分离了(le)逻辑代码和外在的(de)内容(róng),提供了一种易于管理和使用的方(fāng)法(fǎ),用来将(jiāng)原本与(yǔ)HTML代码混杂在一起(qǐ)PHP代(dài)码逻辑(jí)分离。简单的(de)讲,目的就是要使(shǐ)PHP程(chéng)序员同前端人员分离(lí),使程序员改(gǎi)变程序(xù)的逻辑(jí)内容不会影响到(dào)前端人员的页面设计,前端人员重新(xīn)修改页面不会影响(xiǎng)到程序的程序(xù)逻辑,这在多(duō)人合作的项目中显的尤为重要。

1. 速度(dù):采(cǎi)用Smarty编写的程序可以(yǐ)获(huò)得最大速度的提高,这一点是相对于其它的模板(bǎn)引擎(qíng)技术而言的。
2. 编译型:采(cǎi)用(yòng)Smarty编(biān)写的程(chéng)序在运行时要编译(yì)成一个非模板技(jì)术的PHP文(wén)件,这个文件采用了PHP与HTML混合(hé)的方式,在下(xià)一次访问模(mó)板时(shí)将WEB请求(qiú)直(zhí)接转换(huàn)到这个文(wén)件中,而不(bú)再进行(háng)模(mó)板重新编(biān)译(在源程序没有改动的情况下)
3. 缓存技术:Smarty选用的一种缓存技术,它可以(yǐ)将用(yòng)户最终看到的HTML文(wén)件缓存成一个静态的HTML页,当设定Smarty的cache属性为(wéi)true时(shí),在Smarty设(shè)定的cachetime期(qī)内(nèi)将用户的WEB请求直(zhí)接转换(huàn)到这(zhè)个静态的HTML文件中来,这相当于调用一个静(jìng)态的HTML文件。
4. 插件技术:Smarty可以自定义(yì)插件。插件实际就是一(yī)些自定义的函数。
5. 模板(bǎn)中可(kě)以(yǐ)使(shǐ)用if/elseif/else/endif。在模板(bǎn)文(wén)件使用判断(duàn)语句可以非常方便的对模板进(jìn)行格式重排。