2011-10-12 76 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。 –