2011-10-12 44 views
0

我刚刚开始在Yii工作,我试图在CClientScript中添加一些功能,然后开始覆盖我试图理解它所做的一切,所以后来我不绊倒自己不包括某些东西或包括它的错误。Yii缓存方法记录

注册脚本/文件时,我发现了一个方法调用:

$this->recordCachingAction('clientScript','registerScriptFile',$params); 

我跟着这个链向下通过几类在嵌入到COutputCache一种情况下,看到的replayActions功能。这用于什么?有没有什么需要这个或者是我的怀疑,它只是一个有用的调试功能来跟踪缓存?

Tl; Dr:
为什么要记录缓存动作以便以后重播?

回答

-1

Johnatan的回答是一个正确和很好的描述什么它。但我有一个更详细地了解(这是什么更多的我一直在寻找)到如何确实在这里:

YiiFramework.com Forum Topic

1

此方法保存高速缓存方法的输出。在你的例子中,CClientScript->registerScriptFile()的结果输出将被缓存(如果显然启用了缓存)并保存以供稍后调用。稍后,如果高速缓存仍然有效并再次调用CClientScript->registerScriptFile()(具有相同的参数),则输出不会再次生成,而是从高速缓存中获取。

基本上这是基于方法的模块化缓存(大多数影响输出的方法都被缓存)。当然,你可以在你的车型,控制器等中使用它。

+0

所以,当启用缓存缓存征询每个函数调用?在没有输出的方法中使用这个函数有什么用?还是我误解它的缓存? – Paystey

+0

它正在缓存结果,不一定要将数据发送到stdout。 –