本文較為詳細的分析了thinkphp的靜態緩衝用法。分享給大家供大家參考。具體分析如下:
thinkphp裡面內建了一個靜態緩衝功能,說靜態緩衝可能對我這種菜鳥而言不太好理解。其實靜態緩衝就是將THINKphp的某一個操作顯示出來的頁面產生一個HTML檔案儲存在設定的路徑,當使用者再次訪問的時候,如果緩衝沒到期,那麼這個操作將不再執行它下面的PHP程式,而是直接調用產生的HTML快取檔案。要使用靜態緩衝就需要在項目配置目錄__APP__/Conf下面增加靜態緩衝規則檔案 htmls.php,還需要在設定檔中開啟靜態緩衝:
代碼如下:
'HTML_CACHE_ON'=>TRUE
設定已經產生的靜態頁儲存路徑:
代碼如下:
'HTML_PATH' =>'__APP__/html'
設定預設緩衝有效時間:
代碼如下:
'HTML_CACHE_TIME'=>'60'
讀取靜態頁面的規則
代碼如下:
'HTML_READ_TYPE'=>0
'HTML_READ_TYPE 設定成0,就是訪問這個緩衝了的操作的時候,該操作讀取靜態快取頁面面顯示。URL路徑是該操作的路徑.如果設定成1,訪問該操作的時候,它就會重新導向跳轉到靜態頁面。URL就是快取檔案路徑了。
接下來就要些緩衝的規則了,也就是要設定一下 我們要對哪些操作進行靜態緩衝,緩衝HTML的名稱,和緩衝時間了,
代碼如下:
return array("操作名"=>array("要產生的HTML靜態檔案名稱","設定緩衝有效期間","組建檔案名稱的規則") )
上面的"操作名"就是需要緩衝的操作了,操作名又分三種形式.
1. 如果唯寫操作名稱,那就是對項目下面所有模組的 這一操作名進行緩衝。
2. 模組名稱:操作名稱,就表示只對該模組下面的該操作進行緩衝。
3. '*' 表示 對所有的操作都緩衝.產生靜態檔案的名稱,可以更具當前的模組名稱{:module}, 當前操作名稱{:action},_GET _REQUEST _SERVER _SESSION _COOKIE的值 ($_xxx) 來設定.其中$_GET['xxx']參數可以直接用{xxx}表示。如果檔案名稱當中帶有“/”那麼系統會在儲存目錄中建立目錄,如{:module}/{:action}系統就會在__APP__/html 目錄下建立一共以當前模組名稱命名的目錄,然後產生以當 前操作名稱命名的html檔案了,緩衝有效期間,單位為秒,設定成-1表示永久緩衝,組建檔案名稱的規則 就是 將 產生靜態檔案的名稱 通過某個函數重新命名,比如md5.
希望本文所述對大家的ThinkPHP架構程式設計有所協助。