php—Smarty-缓存2(26)

一个页面中,有些数据缓存,有些数据不缓存,就是局部缓存

l  $smarty->assign(“var”, “value”, true)

第三个参数:表示是否不缓存

l  {$var nocache=true}

在模板变量量后使用nocache参数

l  {nocache}{/nocache}

使用一对nocache标记,之间的所有内容不缓存

技术分享

技术分享

缓存文件:我们发现姓名被直接写到文件中,年龄每次都需要动态读取,实现局部缓存功能

技术分享

尝试将name和age的值修改,注意页面上发生的变量,name不变,age改变

七、            单页面多缓存

http://localhost/news.php?id=100

查看id为100的新闻

访问后,会对这个模板生成一个缓存文件,缓存的是id为100的新闻

http://localhost/news.php?id=80

查看id为80的新闻

这时,看到的将是之前的缓存文件

l  $smarty->caching=true

开启缓存机制

l  $smarty->display(“tpl”, “cacheid”)

第二个参数表示缓存ID,就是某个缓存文件的唯一标准

代码:

技术分享

我们分别使用这样的url来访问:

Demo07.php?id=10

Demo07.php?id=83

Demo07.php?id=96

然后,发现在缓存目录下,产生这样几个缓存文件:

技术分享

文件名^之前的内容就是缓存ID,是缓存文件的唯一标识。

清除缓存文件时该如何操作?

$smarty->clearCache(‘demo07.html’);

这样写,表示将demo07模板的所有的缓存文件清除

$smarty->clearCache(‘demo07.html’,83)

这样写,表示将demo07模板对应的ID为83的缓存文件删除

八、 缓存集合

http://localhost/news.php?kid=10&page=8

表示想查看新闻分类id为10的新闻标题,并显示第8页的数据,该如何进行缓存?

l  $smarty->caching=true

开启缓存功能

l  $smarty->display(“tpl”, $id1.”|”.$id2)

设置缓存ID,并使用   |  进行连接,表示是一个缓存集合

代码:

 技术分享

 

运行以下url:

Deo08.php?kid=13&page=2

Deo08.php?kid=25&page=8

Deo08.php?kid=2&page=58

发现,在缓存目录下,产生这样几个缓存文件

技术分享

其实,就是指将得到的所有参数用 | 连接,生成新的缓存文件

MVC中应用Smarty

一、MVC

1、M:模型

2、  V:视图

3、  C:控制器

技术分享

就是需要用Smarty替换我们之前的View组件

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。