![](https://img.kancloud.cn/04/94/0494e70ea8d1038a3dbe5d996d80babc_511x250.jpeg)
Smarty模板化引擎,是在GNU宽通用公共许可(LGPL)下发布的,可能是最流行、功能最强大的PHP模板化引擎。
Smarty提供了很多强大的功能,概括如下:
- 强大的表现逻辑。Smarty提供了适当的构造,能够有条件地计算和迭代地处理数据。虽然它本身实际上是一种语言,但语法很简单,设计人员可以很快地学会,而不需要预备的编程知识。
- 模板编译。为减少开销,Smarty在默认情况下将模板转换为可比较的PHP脚本,使得后续的调用速度更快。Smarty还非常智能,在内容改变后可以重新编译。
- 缓存。Smarty还提供了缓存模板的可选特性。缓存与编译不同的是,支持缓存不只是能生成缓存的内容,还能防止执行个别逻辑。例如,你可以指定缓存文档的生存时间,比如5分钟,在此期间可以忽略与该模板有关的数据库查询。
- 高度可配置和可扩展。Smarty的面向对象架构允许修改和扩展其默认行为。此外,从一开始可配置性就是一个设计目标,为用户提供了很大的灵活性,通过内置方法和属性定制Smarty的行为。
- 安全。Smarty提供了很多安全特性,可以避免服务器和应用程序数据遭到设计人员有意或无意的破坏。