Smarty模板学习笔记之Smarty简介


Posted in PHP onMay 20, 2014

1、简介

Smarty是一个使用PHP写出来的模板PHP模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同前端分离,使PHP程序员改变程序的逻辑内容不会影响到前端的页面设计,前端重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。

2、那么smarty有什么优点呢?

a、速度:采用Smarty编写的程序可以获得最大速度的提高,这一点是相对于其它的模板引擎技术而言的。

b、编译型:采用Smarty编写的程序在运行时要编译成一个非模板技术的PHP文件,这个文件采用了PHP与HTML混合的方式,在下一次访问模板时将WEB请求直接转换到这个文件中,而不再进行模板重新编译(在源程序没有改动的情况下)

c、缓存技术:Smarty选用的一种缓存技术,它可以将用户最终看到的HTML文件缓存成一个静态的HTML页,当设定Smarty的cache属性为true时,在Smarty设定的cachetime期内将用户的WEB请求直接转换到这个静态的HTML文件中来,这相当于调用一个静态的HTML文件。

d、插件技术:Smarty可以自定义插件。插件实际就是一些自定义的函数。

e、模板中可以使用if/elseif/else/endif。在模板文件使用判断语句可以非常方便的对模板进行格式重排。

3、不过,在下面情况时使用smarty需留意

a、需要实时更新的内容。例如像股票显示,它需要经常对数据进行更新,这类型的程序使用smarty会使模板处理速度变慢。

b、小项目。小项目因为项目简单而美工与程序员兼于一人的项目,使用Smarty会在一定程度上丧失PHP开发迅速的优点。

(PS:不过为了整个项目的规范,请大家尝试去使用模板引擎。其实习惯了,开发速度会更加快,以上是没有用习惯模板引擎的开发者遇到的问题)

PHP 相关文章推荐
php 攻击方法之谈php+mysql注射语句构造
Oct 30 PHP
PHP下对数组进行排序的函数
Aug 08 PHP
让Json更懂中文(JSON_UNESCAPED_UNICODE)
Oct 27 PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
Dec 25 PHP
php重定向的三种方法分享
Feb 22 PHP
PHP文章采集URL补全函数(FormatUrl)
Aug 02 PHP
基于session_unset与session_destroy的区别详解
Jun 03 PHP
php curl基本操作详解
Jul 23 PHP
WordPress中调试缩略图的相关PHP函数使用解析
Jan 07 PHP
PHP实现数组和对象的相互转换操作示例
Mar 20 PHP
php中的依赖注入实例详解
Aug 14 PHP
PHP接口类(interface)的定义、特点和应用示例
May 18 PHP
php实例分享之mysql数据备份
May 19 #PHP
dedecms函数分享之获取某一栏目所有子栏目
May 19 #PHP
ECMall支持SSL连接邮件服务器的配置方法详解
May 19 #PHP
PHP小技巧之JS和CSS优化工具Minify的使用方法
May 19 #PHP
php开启openssl的方法
May 15 #PHP
PHP整数取余返回负数的相关解决方法
May 15 #PHP
PHP取余函数介绍MOD(x,y)与x%y
May 15 #PHP
You might like
PHP中数组合并的两种方法及区别介绍
2012/09/14 PHP
实用的简单PHP分页集合包括使用方法
2013/10/21 PHP
php自定文件保存session的方法
2014/12/10 PHP
PHP判断上传文件类型的解决办法
2015/10/20 PHP
js+CSS 图片等比缩小并垂直居中实现代码
2008/12/01 Javascript
Javascript 获取LI里的内容
2008/12/17 Javascript
根据选择不同的下拉值出现相对应的文本输入框
2013/08/01 Javascript
js 弹出框只弹一次(二次修改之后的)
2013/11/26 Javascript
基于jquery实现一个滚动的分步注册向导-附源码
2015/08/26 Javascript
bootstrap vue.js实现tab效果
2017/02/07 Javascript
jQuery中layer分页器的使用
2017/03/13 Javascript
微信小程序--组件(swiper)详细介绍
2017/06/13 Javascript
Angular.JS中指令ng-if的注意事项小结
2017/06/21 Javascript
bootstrap tooltips在 angularJS中的使用方法
2019/04/10 Javascript
TypeScript开发Node.js程序的方法
2019/04/30 Javascript
使用RxJS更优雅地进行定时请求详析
2019/06/02 Javascript
使用vscode快速建立vue模板过程详解
2019/10/10 Javascript
详解django的serializer序列化model几种方法
2018/10/16 Python
python实现连连看辅助之图像识别延伸
2019/07/17 Python
对django 模型 unique together的示例讲解
2019/08/06 Python
python实现图像随机裁剪的示例代码
2020/12/10 Python
css3实现多个元素依次显示效果
2017/12/12 HTML / CSS
详解HTML5中的元素与元素
2015/08/17 HTML / CSS
香港卓悦化妆品官网:BONJOUR
2017/09/21 全球购物
C#笔试题
2015/07/14 面试题
初中同学聚会感言
2014/02/11 职场文书
水电工岗位职责
2014/02/12 职场文书
《雨点》教学反思
2014/02/12 职场文书
护理专业自荐信范文
2014/02/26 职场文书
计算机专业求职信
2014/06/02 职场文书
项目经理任命书
2014/06/04 职场文书
学校花圃的标语
2014/06/18 职场文书
导游词之重庆钓鱼城
2019/09/19 职场文书
六年级作文之家庭作文
2019/12/12 职场文书
虚拟机linux端mysql数据库无法远程访问的解决办法
2021/05/26 MySQL
Python作用域和名称空间的详细介绍
2022/04/13 Python