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 和 COM
Oct 09 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
Aug 23 PHP
PHP中上传多个文件的表单设计例子
Nov 19 PHP
php使用pdo连接mssql server数据库实例
Dec 25 PHP
php通过exif_read_data函数获取图片的exif信息
May 21 PHP
了解PHP的返回引用和局部静态变量
Jun 04 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
Aug 28 PHP
PHP中两个float(浮点数)比较实例分析
Sep 27 PHP
Yii框架实现的验证码、登录及退出功能示例
May 20 PHP
Laravel框架实现redis集群的方法分析
Sep 14 PHP
作为PHP程序员你要知道的另外一种日志
Jul 30 PHP
微信支付之JSAPI公众号支付详解
May 15 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
Search File Contents PHP 搜索目录文本内容的代码
2010/02/21 PHP
php数据库配置文件一般做法分享
2012/07/07 PHP
PHP中文编码小技巧
2014/12/25 PHP
php 微信开发获取用户信息如何实现
2016/12/13 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
PHP生成加减算法方式的验证码实例
2018/03/12 PHP
Nigma vs Liquid BO3 第二场2.13
2021/03/10 DOTA
js编码之encodeURIComponent使用介绍(asp,php)
2012/03/01 Javascript
当鼠标移动时出现特效的JQuery代码
2013/11/08 Javascript
Extjs改变树节点的勾选状态点击按钮将复选框去掉
2013/11/14 Javascript
JS小功能(onmouseover实现选择月份)实例代码
2013/11/28 Javascript
浅析Jquery操作select
2016/12/13 Javascript
js学习总结_轮播图之渐隐渐现版(实例讲解)
2017/07/17 Javascript
理解 JavaScript EventEmitter
2018/03/29 Javascript
vue+jquery+lodash实现滑动时顶部悬浮固定效果
2018/04/28 jQuery
微信小程序首页的分类功能和搜索功能的实现思路及代码详解
2018/09/11 Javascript
利用jsonp解决js读取本地json跨域的问题
2018/12/11 Javascript
Vue.js自定义指令学习使用详解
2019/10/19 Javascript
浅谈如何优雅处理JavaScript异步错误
2019/11/12 Javascript
nodeJs的安装与npm全局环境变量的配置详解
2020/01/06 NodeJs
vue使用video插件vue-video-player详解
2020/10/23 Javascript
nuxt引入组件和公共样式的操作
2020/11/05 Javascript
[02:33]2014DOTA2 TI每日综述 LGD涉险晋级DK闯入胜者组
2014/07/14 DOTA
python使用xauth方式登录饭否网然后发消息
2014/04/11 Python
用Python编写web API的教程
2015/04/30 Python
Python3连接MySQL(pymysql)模拟转账实现代码
2016/05/24 Python
Django后端发送小程序微信模板消息示例(服务通知)
2019/12/17 Python
pytorch获取模型某一层参数名及参数值方式
2019/12/30 Python
德国最新街头服饰网上商店:BODYCHECK
2019/09/15 全球购物
软件工程师面试题
2012/06/25 面试题
酒吧创业计划书
2014/01/18 职场文书
开会迟到检讨书
2014/02/03 职场文书
学历公证书范本
2014/04/09 职场文书
《骑牛比赛》教后反思
2014/04/22 职场文书
中学综治宣传月活动总结
2015/05/07 职场文书
公文格式,规则明细(新手收藏)
2019/07/23 职场文书