ThinkPHP 靜態快取類

2021-06-08 19:42:36 字數 1929 閱讀 4076

根據thinkphp官方手冊:thinkphp 內建了靜態快取類,通過靜態快取規則定義 來實現了可配置的靜態快取。

啟用靜態快取:

thinkphp官方手冊寫道 引用

要使用靜態快取功能,需要開啟html_cache_on 引數,並且在專案配置目錄下面增加靜態快取規則檔案 htmls.php,兩者缺一不可。否則靜態快取不會生效。

在配置檔案conf\config.php的array()中加上:

靜態規則定義,thinkphp官方手冊寫道:

php** 

return array(  

『actionname』=>array(『靜態規則』,』靜態快取有效期』,』附加規則』), //第一種  

『modulename:actionname』=>array(『靜態規則』,』靜態快取有效期』,』附加規則』),//第二種  

『*』=>array(『靜態規則』,』靜態快取有效期』,』附加規則』),//第三種  

…更多操作的靜態規則  

return array(

『actionname』=>array(『靜態規則』,』靜態快取有效期』,』附加規則』), //第一種

『modulename:actionname』=>array(『靜態規則』,』靜態快取有效期』,』附加規則』),//第二種

『*』=>array(『靜態規則』,』靜態快取有效期』,』附加規則』),//第三種

…更多操作的靜態規則)

引用第一種是定義全域性的操作靜態規則, 例如定義所有的 read 操作的靜態規則為 :'read'=>array('','60')

其中, 表示取 $_get[『id』] 為靜態快取檔名,第二個引數表示快取 60 秒。

第二種是定義某個模組的操作的靜態規則,例如,我們需要定義 blog 模組的 read 操作進行靜態快取

『blog:read』=>array(『』,-1)。

第三種方式是定義全域性的靜態快取規則,這個屬於特殊情況下的使用,任何模組的操作都適用,例如

『*』=>array(『』), 根據當前的 url 進行快取。

我這裡在靜態快取規則檔案 htmls.php中寫:

php** 

<?php     

return array(     

'gethtml' => array('', -1),//-1表示永久快取     

);     

?>   

<?php  

return array(  

'gethtml' => array('', -1),//-1表示永久快取  

);  

?> 

上面的靜態快取規則表示 定義所有的gethtml 操作的靜態規則為:'gethtml'=>array('',-1)。

表示 當前操作名 為靜態快取檔名。

同樣在\lib\action\indexaction.class.php檔案中寫:

php** 

<?php     

class indexaction extends action     

}     

?>   

<?php  

class indexaction extends action  

}  

?> 

在\tpl\default\index\gethtml.html中寫:

html** 

然後在瀏覽器中輸入:

,可看到預期的頁面。

ps:如果用的apache,firefox和opera可能會不支援shtml檔案,可以在httpd.conf檔案中找到"addtype text/html .shtml","addoutputfilter includes .shtml",分別去掉前面的"#"即可。

thinkphp靜態快取

thinkphp裡面內建了乙個 靜態快取功能,說靜態快取可能對我這種菜鳥而言不太好理解。其實靜態快取就是將thinkphp的某乙個操作顯示出來的頁面生成乙個html檔案儲存在設 置的路徑,當使用者再次訪問的時候,如果快取沒過期,那麼這個操作將不再執行它下面的php程式,而是直接呼叫生成的html快取...

thinkphp的靜態快取用法分析

thinkphp裡面內建了乙個靜態快取功能,說靜態快取可能對我這種菜鳥而言不太好理解。其實靜態快取就是將thinkphp的某乙個操作顯示出來的頁面生成乙個html檔案儲存在設定的路徑,當使用者再次訪問的時候,如果快取沒過期,那麼這個操作將不再執行它下面的php程式,而是直接呼叫生成的程式設計客棧ht...

ThinkPHP靜態快取簡單配置和使用

根據thinkphp官方手冊 thinkphp內建了靜態快取類,通過靜態快取規則定義來實現了可配置的靜態快取。啟用靜態快取 thinkphp官方手冊寫道 要使用靜態快取功能,需要開啟html cache on 引數,並且在專案配置目錄下面增加靜態快取規則檔案 htmls.php,兩者缺一不可。否則靜...