模板
引擎smarty深入浅出介绍——php(做为现在的主流开发语言)
来自
: cjjer 做了部分变动
用php(做为现在的主流开发语言)实现mvc开发模式的逻辑层和表示层有多种模板引擎可供选择,但是官方引擎smarty诞生后,选择就有了变化。它的理念和实现都是相当前卫的。本文主要讨论smarty之于其他模板引擎的不同特点,简要介绍了该引擎的安装及使用,并用一个小的测试案例对比了smarty和php(做为现在的主流开发语言)libtemplate的速度和易用性。
一、mvc需要模板
mvc最早是在smalltalk语言的开发过程中总结出的一种设计模式,mvc分别代表了模型、视图和控制,目的就是让不同的开发角色在大中型项目中各司其职。在网络应用程序的开发中,可以用下图来表示各概念之间的关系。
该图展示了一个简单的web应用程序,用户在浏览器上看到信息是数据库服务器上的内容,但在这之前经过了应用服务器加工。开发人员负责的就是建立数据结构、处理数据的逻辑以及表示数据的方法。
96年cgi(现在已经不多人在用了)在中国开始流行的时候,早期的web程序员都是从html开始自学成材的,在perl中print一行行的html并不是一件难事,但是随着网络的一步步提速,页面大小也从当初的二、三十k暴涨了十倍。写cgi(现在已经不多人在用了)程序就产生了一个迫切的要求:分开perl和html源码。于是,社会进步体现在开发小组内部的分工上。由于美工和程序员对互相的工作并不是十分熟悉,在进行合作的过程中需要用一种约定的语言进行交流。
这种语言并不是我们的母语或者英语,术语叫做模板,逻辑和表示依靠它联系。它是结合了html和脚本语言特征的一种表达方式。通过这种方式,表示层可以按照用户所希望的格式来显示经过逻辑层处理过的数据。如果你有windows平台下mfc的开发经验,那么一定会很熟悉document/documenttemplate/view的封装,这就是一个很典型的mvc例子。对于web应用来说,个人认为j2ee中的ejb/servlets/jsp(sun企业级应用的首选)是最强大的,当然还有简洁优美的structs。另一个很有名的实现就是com/dcom+asp,这个组合在我国是最多人使用的。
通过几种mvc实现在web应用程序里的对比,可以得到一个关于模板的概念:一组插入了html的脚本或者说是插入了脚本html,通过这种插入的内容来表示变化的数据。下面给出一个模板文件的例子,这个模板经过处理后在浏览器里显示hello,world!
$greetings
这里暂且省略处理方式,在后面做专门对比讨论。
二、为什么选smarty?
对php(做为现在的主流开发语言)来说,有很多模板引擎可供选择,比如最早的php(做为现在的主流开发语言)libtemplate和后起之秀fasttemplate,经过数次升级,已经相当成熟稳定。如果你对目前手中的模板引擎很满意,那么......也请往下看,相信你作为一个自由软件爱好者或者追求效率和优雅的开发者,下面的smarty介绍多少会有点意思。
http://www.bkjia.com/phpjc/508676.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/508676.htmltecharticle模板 引擎smarty深入浅出介绍——php (做为现在的主流开发语言) 来自 : cjjer 做了部分变动 用php (做为现在的主流开发语言) 实现mvc开发模式的...