我使用$this->output->cache(n)
來緩存網頁,但我無法弄清楚它是如何工作的。我沒有在system/cache
文件夾下找到任何緩存文件...並且在我編輯頁面並再次顯示它之後,內容改變,所以看起來這個頁面並沒有真正被緩存。任何人都可以提供幫助嗎? (我用菲爾的模板LIB) 我的代碼:codeigniter輸出緩存不起作用?
function show(){
$this->output->cache(5);
$this->load->model('page_model');
$var = $this->uri->segment(3, 0); //get About page
$row = $this->page_model->getPage($var);
$this->template->title('about')
->set_layout('default')
->set_partial('styles', 'css')
->set('data', $row->body)
->build('about');
}
謝謝!
+1也許沒有使用「原生」的觀點是一個問題? – Philip 2012-04-10 15:59:37
嗨科林和菲利普,謝謝你的回覆!但是還有其他方法可以使用這種緩存方法嗎?因爲它似乎無法擺脫模板,我不得不使用它來構建網站......另外,如何更改權限?我無法在系統下找到緩存文件夾,但在應用程序下有一個緩存文件夾...對不起,我是CI新手 – Mario 2012-04-10 16:14:11
@Mario:關於你最後一個問題,那是我的錯。該目錄確實是'application/cache'。關於如何讓CI的緩存方法在沒有CI視圖的情況下工作,你必須看一下[Output class](http://codeigniter.com/user_guide/libraries/output.html)的「底層」,找到了解它的工作原理,並根據需要進行擴展。 – 2012-04-10 16:28:55