![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Smarty
文章平均质量分 79
大叔说码
笨鸟先飞!切莫妄自菲薄!1548604122@qq.com
展开
-
smarty模板中标签的输出方式
smarty模板中的标签有以下输出方式:① 原样输出,即&标签名② 标签参与数学运算(不推荐,模板只保持输出就行了){$age+30}老头的真实年龄是{$age},他找老婆的最适合年龄是{$age-$sub}岁{30+$age} 这种写法在smarty2.6里,是不支持的,即运算的时候,$标签要放在最前面 建议不要这样写,为了兼容就版本的smarty③原创 2016-06-26 16:47:28 · 4186 阅读 · 0 评论 -
smarty之对象注册
当我们给标签赋上一个类对象时,这意味着,在模板里,smarty标签可以调用对象里面的所有public方法,打个比方,如果该类中有密码信息,且被该类封装,但又为方便修改提供给外部一public的接口modpass方法,这样的话就有可能被恶意或无意调用。解决这种问题我们可以用对象注册 registerObject()对象注册就是在给标签赋对象值得同时,限制该对象的允许调用方法,如cla原创 2016-06-26 22:34:57 · 341 阅读 · 0 评论 -
smarty之数据对象
数据对象,其实就是一个装数据的框,是smarty引入的一种新概念。数据对象之间互不干扰,其很好地解决了数据的分类,使得不同的模板可以使用其对应所需的数据。下面介绍一下数据对象的使用:// 创建一个数据对象$h_data = $smarty->createData();// 再创建一个数据对象$f_data = $smarty->createData();// 把头部的nav数据原创 2016-06-26 22:19:07 · 547 阅读 · 0 评论 -
smarty缓存的删除
删除smarty缓存,只需用到clearCache(模板名,缓存id)传缓存id,删除指定的缓存文件如果只指定模板名,不指定缓存id,则该模板对应的所有缓存都会被删掉$smarty->clearCache('02.html',$goods_id);OK,That's all.原创 2016-06-26 21:31:45 · 522 阅读 · 0 评论 -
smarty单模板多缓存——解决缓存后所有商品页面都一样的问题
单模板多缓存——根据id的不同,来生成各个商品的缓存页面,很好解决了当goods.php?id=N缓存后,所有的商品页面都一样的问题单模板多缓存的原理就是生产缓存的时候,可以再传一个"缓存id",如果id不同,生产的缓存文件则不同简单点说,你的哪些参数影响到页面的内容,就把这些参数当成“缓存id”,例如:cate=4&page=3,第四栏目的第3页,明显page和cate都影响到结果,这2原创 2016-06-26 20:51:21 · 806 阅读 · 0 评论 -
smarty缓存
smarty缓存其实就是把页面内容保存在磁盘上,下次(短期内不会变化)访问相同页面就直接返回保存的内容,这样在一定程度上减轻了数据库和带宽的压力,同时也减少了用户的等待时间。下面介绍smarty缓存的用法:1:开启缓存 —— $smarty->caching = true;2:配置缓存的生命周期,如: —— $smarty->cache_lifetime = 10;(单位为秒)3:原创 2016-06-26 20:04:44 · 384 阅读 · 0 评论 -
smarty在普通php页面使用流程
smarty在普通php页面使用流程以及为什么要学习smarty模板,学习smarty有什么作用原创 2016-06-24 11:14:45 · 722 阅读 · 0 评论 -
解决smarty标签的定界符{}与css的{}冲突问题
解决smarty标签的定界符{}与css的{}冲突问题原创 2016-04-17 20:50:43 · 1427 阅读 · 0 评论 -
smarty标签变量的来源
smarty标签变量,来源于3个部分:1:是php中assign分配的变量2:smarty的系统保留变量3:从配置文件读取到的配置变量下面具体看看他们的用法:1:assign赋值// 3种变量来源之assign赋值$smarty->assign('name','李白');$smarty->assign('poem','天生我才必有用');2:系统保留变量,不用赋原创 2016-06-24 16:33:58 · 451 阅读 · 0 评论 -
assign用法探讨
我们先看看smarty模板assign的原码如果第一个参数是数组的话效果是把此数组的每个值,赋到以相应的键为名称的标签上去public function assign($tpl_var, $value = null, $nocache = false) { if (is_array($tpl_var)) { foreach ($tpl_var原创 2016-06-24 17:02:00 · 1433 阅读 · 0 评论 -
smarty之模板继承
模板继承就是在父模板中留一块{block name="xxx"}{/block},比如在这部分做广告模板那么我们可以新建一个{block name="xxx"}{/block}负责做广告的子模板,来继承父模板,子模板中在{block name="xxx"}{/block}所写的内容,将显示在父类对应的{block name="xxx"}{/block}内注意:1:子模板第一句话,先声明原创 2016-06-27 16:03:12 · 1651 阅读 · 0 评论