smarty 基本介绍及示例什么是smarty? Smarty 是一个使用PHP写出来的模板引擎,是业界最著名的PHP模板引擎之一。Smarty 分离了逻辑代码和外在的内容,提供一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP 代码逻辑分离。Smarty工作的目的是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。 为什么会诞生smarty? 例如在一个公司,一个应用程序的开发流程如下:在提交计划文档之后,界面设计者[ 美工制作了网站的外观模型,然后把它交给后台程序员。程序员使用PHP 实现商业逻辑,同时使用外观模型做成基本架构。然后工程被返回到HTML 页面设计者继续完善。就这样工程可能在后台程序员和页面设计者之间来来回回好几次。由于后台程序员不喜欢干预任何有关HTML 标签,同时也不需要美工们和PHP代码混在一起;美工设计者只需要配置文件,动态区块和其他的界面部分,不必要去接触那些错综复杂的PHP 代码。因此,这时候有一个很好的模板支持就显得很重要了。 smarty主要优点:1.速度:采用Smarty编写的程序可以获得最大速度的提高,这一点是相对于其它的模板引擎技术而言的。 2. 编译型:采用Smarty编写的程序在运行时要编译成一个非模板技术的PHP文件,这个文件采用了PHP与HTML混合的方式,在下一次访问模板时将WEB请求直接转换到这个文件中,而不再进行模板重新编译(在源程序没有改动的情况下)3. 缓存技术:Smarty 选用的一种缓存技术,它可以将用户最终看到的HTML文件缓存成一个静态的HTML页,当设定Smarty 的cache属性为true时,在Smarty设定的cachetime期内将用户的WEB请求直接转换到这个静态的HTML文件中来,这相当于调用一个静态的HTML文件。5. 模板中可以使用if/elseif/else/endif 。在模板文件使用判断语句可以非常方便的对模板进行格式重排。 不适合使用Smarty的地方:需要实时更新的内容。例如像股票显示,它需要经常对数据进行更新,这类型的程序使用smarty会使模板处理速度变慢。 小项目。小项目因为项目简单而美工与程序员兼于一人的项目,使用Smarty会在一定程度上丧失PHP开发迅速的优点。 (PS:不过为了整个项目的规范,请大家尝试去使用模板引擎。其实习惯了,开发速度会更加快,以上是没有用习惯模板引擎的开发者遇到的问题) smarty简单示意图:file:///C:\Users\kjl\AppData\Local\Temp\ksohtml\wps9B4B.tmp.jpg
|