YII 页面缓存于动态缓存的使用

YII的确是没的说不过唯一要说的就是残缺的文档,真是害死人啊,最近终于研究了其缓存的使用,我使用的是整页缓存,这里就涉及一个问题就是部分地方不缓存,好了,先看看如何配置
1.在控制器里面增加函数
[coolcode lang=”php”]
public function filters() { return array( array( ‘COutputCache+index’, ‘duration’ => 5,’varyByParam’=>array(‘id’), ), ); }
[/coolcode]
2.其中大家可以看到 COutputCache+index,这里的意思是使用COutputCache类缓存文件,后面的加index指的是只缓存actionIndex函数,如果你需要缓存其他的就继续增加COutputCache+index,hello,test…如果没有后面的+那么默认是缓存整个控制器里面的所有方法

3. varyByParam这个的意思是根据哪些来生产缓存,比如当用户访问分页的时候,是根据pageid那么久可以把pageid增加进去,这样每当 pageid更换的时候,缓存也会更换,不至于看到的内容都是一样的

4.动态内容,在模板里面使用这句话
[coolcode lang=”php”]
$this->renderDynamic(‘widget’,’application.extensions.uinfo’,array(‘uid’=>’hahahah!’), true);
[/coolcode]
其中可以看到,extensions.uinfo,这里指的是extensions/uinfo.php,后面的array()这里是传递参数用的,比如我写的是uid,那么在uinfo.php里面就要增加变量$uid,不过我认为大家可以写一个__get/__set函数,这样就省去写了
至于后面的true我也不知道啥意思,郁闷 .



发表评论

电子邮件地址不会被公开。 必填项已用*标注

42 + = 47