龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

《PHP与MySQL程序设计(第3版)》――19.2 Smarty介绍

时间:2009-12-17 12:00来源:未知 作者:admin 点击:
分享到:
19.2 Smarty介绍 Smarty(http://smarty.php.net/)是PHP的“半官方”的模板化引擎,从其主页的位置就可以看出。Smarty的作者是Andrei Zmievski和Monte Orte。它是在GNU宽通用公共许可(LGPL,http://www.g

19.2 Smarty介绍

Smarty(http://smarty.php.net/)是PHP的“半官方”的模板化引擎,从其主页的位置就可以看出。Smarty的作者是Andrei Zmievski和Monte Orte。它是在GNU宽通用公共许可(LGPL,http://www.gnu.org/ copyleft/lesser.html)下发布的,可能是最流行、功能最强大的PHP模板化引擎。

Smarty还提供了很多强大的功能,本章将讨论其中一部分,概括如下。

q强大的表现逻辑。Smarty提供了适当的构造,能够有条件地计算和迭代地处理数据。虽然它本身实际上是一种语言,但语法很简单,设计人员可以很快地学会,而不需要预备的编程知识。

q模板编译。为减少开销,Smarty在默认情况下将模板转换为可比较的PHP脚本,使得后续的调用速度更快。Smarty还非常智能,在内容改变后可以重新编译。

q缓存。Smarty还提供了缓存模板的可选特性。缓存与编译不同的是,支持缓存不只是能生成缓存的内容,还能防止执行个别逻辑。例如,你可以指定缓存文档的生存时间,比如5分钟,在此期间可以忽略与该模板有关的数据库查询。

q高度可配置和可扩展。Smarty的面向对象架构允许修改和扩展其默认行为。此外,从一开始可配置性就是一个设计目标,为用户提供了很大的灵活性,通过内置方法和属性定制Smarty的行为。

q安全。Smarty提供了很多安全特性,可以避免服务器和应用程序数据遭到设计人员有意或无意的破坏。记住,所有流行的模板化解决方案都遵循同样的一组相同的核心实现原则。与编程语言一样,学习了一种语言就可以更容易地掌握其他语言。因此,即使不使用Smarty,你也可以继续读下去。本章介绍的概念绝对可以应用于任何其他类似的解决方案。此外,本章不会全面照搬Smarty手册的内容,而只是关注Smarty的关键特性,使你对这个解决方案有一个初步的认识,并始终强调一般性的模板化概念。

精彩图集

赞助商链接