background image

的输出结果。为什么使用过滤器?你可能会问。预过滤器可以去掉你不想要的内容,确保
你不想要的内容不会被编译。后置过滤器可以再模板被编译后加入附加的信息,比如创建
时间。输出过滤器可以让你修改模板的输出,比如隐藏掉所有的电邮地址以垃圾邮件的骚
扰。

Config 文件
Config 文件是可以储存模板的全局变量的配置文件。这样你就能把一些影响到所有

模板的全局变量集中储存在一个地方。一个典型的例子就是所有模板的配色方案。如果配
色方案需要修改,模板设计者只需要改变配置文件中的值。这样他们就不必一个一个的修
改每一个模板。

插件
Smarty 插件架构自 2.0 版本就出现了,它能让 Smarty 更加用户化。前面讨论的预

过滤器、后置过滤器等都是可用的插件类型而已。其他的插件类型包括修改器、控制模块、
编译器等。使用插件,你可以制作自己的模板函数,变量修改器和过滤器。你还可以使用
资源插件改变 Smarty 的读取数据格式(默认是展平文件)。通过资源插件,你可以将你
的模板保存在数据库里,通过一定的接口取回数据。

结束语
将 Smarty 的模板编译功能和 PHP 固有的效率结合在一起,你就拥有了绝对的速度

优势。使用设计优良的插件构架,Smarty 还有扩展的函数功能,包括模板功能和变量修
改器。速度和函数性的提高并没有影响 Smarty 的亲和度,事实上,Smarty 非常容易上
手。Smarty 同时也配备了在线共享文档。你可以从 Smarty Website 上下载。Smarty 的
作者之一,Andrei Zmievski,也是 PHP 发展小组的成员,他会尽量保证 Smarty 紧跟
PHP 的发展。所以你大可放心:PHP 的任何改版都会被 Smarty 支持的。