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 相关文章推荐
global.php
Dec 09 PHP
php && 逻辑与运算符使用说明
Mar 04 PHP
9个PHP开发常用功能函数小结
Jul 15 PHP
php中获取远程客户端的真实ip地址的方法
Aug 03 PHP
smarty模板引擎从配置文件中获取数据的方法
Jan 22 PHP
基于PHP实现的事件机制实例分析
Jun 18 PHP
php结合curl实现多线程抓取
Jul 09 PHP
Yii2中cookie用法示例分析
Jul 18 PHP
PHP实现留言板功能的详细代码
Mar 25 PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
Jul 09 PHP
自写的利用PDO对mysql数据库增删改查操作类
Feb 19 PHP
Laravel获取所有的数据库表及结构的方法
Oct 10 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新手上路(十四)
2006/10/09 PHP
php把数据表导出为Excel表的最简单、最快的方法(不用插件)
2014/05/10 PHP
PDO的安全处理与事物处理方法
2016/10/31 PHP
PHP 获取客户端 IP 地址的方法实例代码
2018/11/11 PHP
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
js checkbox(复选框) 使用集锦
2009/04/28 Javascript
jquery关于图形报表的运用实现代码
2011/01/06 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
2014/01/13 Javascript
jQuery事件详解
2017/02/23 Javascript
如何使用angularJs
2017/05/08 Javascript
vue通过点击事件读取音频文件的方法
2018/05/30 Javascript
JavaScript中set与get方法用法示例
2018/08/15 Javascript
微信小程序实现评论功能
2018/11/28 Javascript
详解Vue基于vue-quill-editor富文本编辑器使用心得
2019/01/03 Javascript
微信小程序全局变量功能与用法详解
2019/01/22 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
webpack自动打包和热更新的实现方法
2019/06/24 Javascript
[48:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第二场 1月29日
2021/03/11 DOTA
在Python的框架中为MySQL实现restful接口的教程
2015/04/08 Python
Python实现的数据结构与算法之链表详解
2015/04/22 Python
在Python的struct模块中进行数据格式转换的方法
2015/06/17 Python
python类和继承用法实例
2015/07/07 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
2018/10/26 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
python障碍式期权定价公式
2019/07/19 Python
英国在线药房:Express Chemist
2019/03/28 全球购物
酒店人事专员岗位职责
2013/12/19 职场文书
企业管理培训感言
2014/01/27 职场文书
环境保护建议书
2014/08/26 职场文书
迎新生欢迎词
2015/01/23 职场文书
教师节随笔
2015/08/15 职场文书
2016教师学习党章心得体会
2016/01/15 职场文书
my.ini优化mysql数据库性能的十个参数(推荐)
2021/05/26 MySQL
教你怎么用python selenium实现自动化测试
2021/05/27 Python
详细分析PHP7与PHP5区别
2021/06/26 PHP
win11高清晰音频管理器在哪里?win11找不到高清晰音频管理器解决办法
2022/04/08 数码科技