根據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,兩者缺一不可。否則靜...