SMARTY模板的作用就是用html的语法完成PHP代码的功能,类似于dede模板。他的初衷是将前后台的开发分离开,
前台负责写html+css+js,但是模板中又要输出动态数据,但大多数前端人员不懂PHP ,所以就产生了这个东西。
smarty模板还提供缓存功能,提高网站的访问速度。





Smarty是PHP的"半官方"的模板化引擎,从其主页的位置就可以看出。Smarty的作者是AndreiZmievski和MonteOrte



。它是在GNU宽通用公共许可(LGPL)下发布的,可能是最流行、功能最强大的PHP模板化引擎。



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



强大的表现逻辑。Smarty提供了适当的构造,能够有条件地计算和迭代地处理数据。虽然它本身实际上是一种语言,



但语法很简单,设计人员可以很快地学会,而不需要预备的编程知识。



模板编译。为减少开销,Smarty在默认情况下将模板转换为可比较的PHP脚本,使得后续的调用速度更快。



Smarty还非常智能,在内容改变后可以重新编译。



缓存。Smarty还提供了缓存模板的可选特性。缓存与编译不同的是,支持缓存不只是能生成缓存的内容,



还能防止执行个别逻辑。例如,你可以指定缓存文档的生存时间,比如5分钟,在此期间可以忽略与该模板有关的
数据库查询。



高度可配置和可扩展。Smarty的面向对象架构允许修改和扩展其默认行为。此外,从一开始可配置性就是一个设计



目标,为用户提供了很大的灵活性,通过内置方法和属性定制Smarty的行为。



安全。Smarty提供了很多安全特性,可以避免服务器和应用程序数据遭到设计人员有意或无意的破坏。



记住,所有流行的模板化解决方案都遵循同样的一组相同的核心实现原则。与编程语言一样,学习了一种语言



就可以更容易地掌握其他语言。因此,即使不使用Smarty,你也可以继续读下去,使你对这个解决方案有一个初步
的认识,并始终强调一般性的模板化概念。



Smarty(模板引擎):
 
  Smarty是一个使用PHP写出来的PHP模板引擎(让程序逻辑和页面代码分离)





优点:
 
  速度快:相对其他模板引擎(以前)



  编译型:采用smarty编写的程序在运行是要编译成一个非模板技术的PHP文件



  缓存技术:它可以将用户最终看到的HTML文件缓存成一个静态的HTML页面



  插件技术:smarty可以自定义插件





不适合Smarty使用的地方:



  需要实时更新的内容(如:股票)



  小项目