根據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,兩者缺一不...