1、在開發專案時,有時會遇到一些頁面資料量特別大,但是又不經常改變的情況,如**首頁等,這時候就需要進行頁面靜態化,減輕伺服器和資料庫的壓力。
這裡我們先用原生的php寫乙個簡單的demo,用來理解頁面靜態化的原理,然後再嘗試用框架說明一下(thinkphp)。
主要會使用到php的ob相關函式和檔案操作函式file_put_contents.
這裡在專案中新建了兩個檔案,test.php(控制器),muban.php(模板)
test.php
<?phpif(file_exists("match.html") && (time()-filemtime("match.html"))<300)
else
muban.php
然後在瀏覽器執行test.php,就可以看到專案中生成了match.html靜態檔案。
以上是乙個全靜態化的demo,現實專案中可能會遇到區域性動態化的情況。如**首頁,大部分是不需要修改的,但是可能有乙個實時的活動需要在首頁展示,這是可以使用ajax非同步載入技術。
<?phpreturn array(
'html_cache_on' => true, // 開啟靜態快取
'html_cache_time' => 3600, // 全域性靜態快取有效期(秒)
'html_file_suffix' => '.shtml', // 設定靜態快取檔案字尾
'html_cache_rules'=> array(// 定義靜態快取規則
'index:index' =>array('_'),
),'html_path'=>'./html/',
);
這裡需要注意的就是 html_cache_rules
php頁面靜態化
目前cms系統多採用了頁面靜態化,這樣做的好處是 一是能減輕其伺服器的負擔,二是因為生成了html靜態頁面,所以其 被搜尋引擎搜尋到的機率更大一些,也就是為了 推廣。1 頁面靜態化分類 真靜態 通過程式生成靜態頁面檔案,當我們訪問的時候,就是直接訪問的靜態頁面。偽靜態 是動態的 看起來像靜態的 換句...
php 頁面靜態化
php靜態化的簡單理解就是使 生成頁面以靜態html的形式展現在訪客面前,php靜態化分純靜態化和偽靜態化。兩者的區別在於php生成靜態頁面的處理機制不同。1.ob快取實現 頁面在輸出之前,會將輸出資料暫時存放到buffer 緩衝器 中,然後才會輸出到頁面,所以buffer中的資料就是php 執行後...
php頁面靜態化
php頁面靜態化 php靜態化的簡單理解就是使 生成頁面以靜態html的形式展現在訪客面前,php靜態化分純靜態化和偽靜態化,兩者的區別在於php生成靜態頁面的處理機制不同。為什麼要頁面靜態化 一 加快頁面開啟瀏覽速度,靜態頁面無需連線資料庫開啟速度較動態頁面有明顯提高 二 有利於搜尋引擎優化seo...