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 命令行工具 shell_exec, exec, passthru, system详细使用介绍
Sep 11 PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
Jul 28 PHP
php将图片文件转换成二进制输出的方法
Jun 10 PHP
php中二维数组排序问题方法详解
Aug 28 PHP
PHP文件上传操作实例详解
Sep 27 PHP
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
Dec 14 PHP
PHP实现限制IP访问的方法
Apr 20 PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
May 09 PHP
使用vs code编辑调试php配置的方法
Jan 29 PHP
基于Laravel 多个中间件的执行顺序详解
Oct 21 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
Feb 15 PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 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学习 字符串课件
2008/06/15 PHP
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
PHP 数组基础知识小结
2010/08/20 PHP
php调整gif动画图片尺寸示例代码分享
2013/12/05 PHP
Zend Framework教程之Application用法实例详解
2016/03/14 PHP
PHP获取表单数据与HTML嵌入PHP脚本的实现
2017/02/09 PHP
同一个表单 根据要求递交到不同页面的实现方法小结
2009/08/05 Javascript
简单的js表格操作
2016/09/24 Javascript
JS对象的深度克隆方法示例
2017/03/16 Javascript
JS实现移动端实时监听输入框变化的实例代码
2017/04/12 Javascript
bootstrap轮播图示例代码分享
2017/05/17 Javascript
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
2017/08/21 Javascript
Vue 进入/离开动画效果
2017/12/26 Javascript
react项目如何使用iconfont的方法步骤
2019/03/13 Javascript
详解微信UnionID作用
2019/05/15 Javascript
vue history 模式打包部署在域名的二级目录的配置指南
2019/07/02 Javascript
ES6 Symbol在对象中的作用实例分析
2020/06/06 Javascript
Vue3.0的优化总结
2020/10/16 Javascript
Python中数字以及算数运算符的相关使用
2015/10/12 Python
Python变量和字符串详解
2017/04/29 Python
利用selenium 3.7和python3添加cookie模拟登陆的实现
2017/11/20 Python
Python内置函数—vars的具体使用方法
2017/12/04 Python
python实现二维数组的对角线遍历
2019/03/02 Python
爬虫代理池Python3WebSpider源代码测试过程解析
2019/12/20 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
2020/05/20 Python
StubHub巴西:购买和出售您的门票
2016/07/22 全球购物
中国宠物用品商城:E宠商城
2016/08/27 全球购物
介绍一下XMLHttpRequest对象
2012/02/12 面试题
音乐教学随笔感言
2014/02/19 职场文书
软件项目开发计划书
2014/05/01 职场文书
搞笑的爱情检讨书
2014/10/01 职场文书
领导班子整改方案和个人整改措施
2014/10/25 职场文书
离退休人员聘用协议书
2014/11/24 职场文书
go原生库的中bytes.Buffer用法
2021/04/25 Golang
只需要100行Python代码就可以实现的贪吃蛇小游戏
2021/05/27 Python
MySQL系列之十四 MySQL的高可用实现
2021/07/02 MySQL