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配置文件中最常用四个ini函数
Mar 19 PHP
php检测图片木马多进制编程实践
Apr 11 PHP
php用户注册时常用的检验函数实例总结
Dec 22 PHP
php列出mysql表所有行和列的方法
Mar 13 PHP
php cli配置文件问题分析
Oct 15 PHP
PHP中的随机性 你觉得自己幸运吗?
Jan 22 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
Feb 15 PHP
Zend Framework开发入门经典教程
Mar 23 PHP
PHP微信支付开发实例
Jun 22 PHP
[原创]php实现数组按拼音顺序排序的方法
May 03 PHP
浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别
Jun 17 PHP
php从数据库读取数据,并以json格式返回数据的方法
Aug 21 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
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
smarty中英文多编码字符截取乱码问题解决方法
2014/10/28 PHP
PHP 中使用ajax时一些常见错误总结整理
2017/02/27 PHP
jquery入门—数据删除与隔行变色以及图片预览
2013/01/07 Javascript
JS控制文本框textarea输入字数限制的方法
2013/06/17 Javascript
Extjs4实现两个GridPanel之间数据拖拽功能具体方法
2013/11/21 Javascript
JavaScript中的对象与JSON
2015/07/03 Javascript
JavaScript判断IE版本型号
2015/07/27 Javascript
Javascript获取统一管理的提示语(message)
2016/02/03 Javascript
详解用原生JavaScript实现jQuery的某些简单功能
2016/12/19 Javascript
通过修改360抢票的刷新频率和突破8车次限制实现方法
2017/01/04 Javascript
jQuery实现弹窗居中效果类似alert()
2017/02/27 Javascript
js清除浏览器缓存的几种方法
2017/03/15 Javascript
nodejs个人博客开发第二步 入口文件
2017/04/12 NodeJs
js实现canvas保存图片为png格式并下载到本地的方法
2017/08/31 Javascript
详解Vue项目部署遇到的问题及解决方案
2019/01/11 Javascript
浅析微信小程序modal弹窗关闭默认会执行cancel问题
2019/10/14 Javascript
vue 开发之路由配置方法详解
2019/12/02 Javascript
Vue实现简单的跑马灯
2020/05/25 Javascript
Python使用urllib模块的urlopen超时问题解决方法
2014/11/08 Python
使用Python设计一个代码统计工具
2018/04/04 Python
python遍历小写英文字母的方法
2019/01/02 Python
详解小白之KMP算法及python实现
2019/04/04 Python
利用Python绘制Jazz网络图的例子
2019/11/21 Python
python十进制转二进制的详解
2020/02/07 Python
python设置代理和添加镜像源的方法
2020/02/14 Python
浅谈Python 命令行参数argparse写入图片路径操作
2020/07/12 Python
Python存储读取HDF5文件代码解析
2020/11/25 Python
CSS3 不定高宽垂直水平居中的几种方式
2020/03/26 HTML / CSS
澳大利亚在线消费电子产品商店:TobyDeals
2020/01/05 全球购物
客户代表实习人员自我鉴定
2013/09/27 职场文书
大学生优秀自荐信范文
2014/02/25 职场文书
幼师辞职信范文
2015/02/27 职场文书
投标售后服务承诺书
2015/04/29 职场文书
《少年闰土》教学反思
2016/02/18 职场文书
Nginx如何配置多个服务域名解析共用80端口详解
2022/09/23 Servers