php頁面靜態化之真靜態_PHP教程

來源:互聯網
上載者:User
之前的緩衝和現在所說的頁面靜態化都是為網站提速的,如果是訪問量小的小型網站可能不需要但是如果網站規模或訪問量很大,那麼頁面靜態化和緩衝就會體現出各自的價值了下面先來瞭解下頁面靜態化的分類

頁面靜態化的分類:

1,按照形式:

1)真靜態

2)偽靜態

2,按照範圍:

1)局部靜態話(jquery,ajax)

2)全部靜態化

頁面靜態化可以為網站提速還能進行seo最佳化,因為搜尋引擎偏向抓取靜態頁面,針對不同的搜尋引擎seo的標準可能不同。下面提供一個百度搜尋引擎最佳化的連結

這次給大家分享的是頁面真靜態技術,本次將以一個簡單的新聞管理系統為例子介紹真靜態技術的使用,項目使用mvc架構來弄

一.真靜態理解

真靜態就是把我們先前訪問的jsp,php,aspx變為html,保留先前的頁面效果和商務邏輯,減輕伺服器的壓力、讓網站被良好的收錄。但是真靜態也有缺點那就是過多的靜態頁面佔用了伺服器空間,維護不是很方便。

二 開始靜態化新聞管理系統

1.通過列表頁面以最快速度查看單條資料的詳細資料(如通過新聞列表查看某一條新聞的詳細內容)

如果沒有靜態化的前提下,我們的做法可能是通過點擊列表頁面的標題傳一個ID過去,之後查詢出單條資料之後顯示在一個頁面上,這樣我們每次點選連結都會去訪問一次資料庫,這樣伺服器的壓力必然變大,可取的做法是每次添加資料都產生對應的詳細頁面

(1)簡單的後台管理頁面

(2)添加新聞的操作

if(add==$opper){    $news=new NewsManagerImpl();    $title=$_POST[title];    $content=$_POST[content];    $result=$news->addNews($title, $content);    if($result>0){    //產生靜態html(用於查詢單條資料)    $fp=fopen(../static/news-id-.$result..html, w);    $ftpl=fopen(../tpl/newsDetail.tpl, r);        while(!feof($ftpl)){    $row=fgets($ftpl);    //替換相應的位置    $row=str_replace({title},  $title, $row);    $row=str_replace({content},  $content, $row);    fwrite($fp, $row);        }    fclose($ftpl);    fclose($fp);    header(Location:../manage/success.html);    }exit();}

下面來看看newsDetail.tpl這個模板檔案




新聞標題 新聞內容
{title} {content}

2.靜態化列表頁

這一部分的工作其實很簡單,就看你能不能想的上去,像修改、刪除我們可以按照原來的做法,該怎麼弄就怎麼弄,只需要定期更新靜態化後的列表頁就可以了,更新的頻率按照自身需要即可。

下面是我的做法:

if(updatecache==$opper){$rowInfo=;$listInfo=;$news=new NewsManagerImpl();$all=$news->getAllNews();for ($i = 0; $i < count($all); $i++) {$row=$all[$i];//拼接列表資訊$listInfo.=;$listInfo.={$row['id']};$listInfo.={$row['title']};$listInfo.=查看;//$listInfo.=刪除;//$listInfo.=修改;$listInfo.= ;}//列表頁靜態化$listTpl=fopen(../tpl/newsList.tpl, r);while(!feof($listTpl)){$rowInfo.=fgets($listTpl);}$all=str_replace({newsContent}, $listInfo , $rowInfo);$staticListFp=fopen(../static/newsList.html, w);fwrite($staticListFp, $all);fclose($listTpl);fclose($staticListFp);header(Location:../manage/success.html);}

是不是就只是一個重新讀一下資料的簡單操作呢,最後給大家拉幾個省的說我在這瞎寫

背景話一般不用考慮靜態化,因為後台是給自己看的,只要效能不是很差靜態化意義不大。

http://www.bkjia.com/PHPjc/621642.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/621642.htmlTechArticle之前的緩衝和現在所說的頁面靜態化都是為網站提速的,如果是訪問量小的小型網站可能不需要但是如果網站規模或訪問量很大,那麼頁面...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.