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

2021-06-17 16:23:56 字數 1544 閱讀 7665

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

啟用靜態快取:

thinkphp官方手冊寫道

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

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

php**  

'html_cache_on' => true,//開啟靜態快取  

靜態規則定義:

thinkphp官方手冊寫道

靜態規則的定義有三種方式:

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表示永久快取  

);  

?>  

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

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

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

php**  

<?php   

class indexaction extends action  

}  ?>  

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

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

thinkphp靜態快取

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

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

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

ThinkPHP 靜態快取類

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