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

2021-08-24 19:06:35 字數 1526 閱讀 9257

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

啟用靜態快取:

thinkphp官方手冊寫道

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

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

'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 

return array(

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

);?>

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

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

同樣在\lib\action\indexaction.class.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,兩者缺一不...