首頁 >後端開發 >php教程 >用PHP製作靜態網站的模板框架(三)_PHP教程

用PHP製作靜態網站的模板框架(三)_PHP教程

WBOY
WBOY原創
2016-07-21 16:06:28841瀏覽

避免頁面元素重複


   “這確實不錯”,你也許會想,“我的網站主要就是由大量的靜態頁面構成。現在我可以從所有頁面中刪除它們的公共部分,要更新這些公共部分實在太麻煩了。


   請考慮上面的範例。這個範例其實只有一個example.php頁面,它之所以能夠產生整個網站的所有頁面,是因為它利用了URL中的查詢字串從資料庫之類的資訊來源動態地建構出頁面。


   我們之中的大多數人所經營的網站並不一定都有資料庫支援。我們的網站大多由靜態頁面構成,然後用PHP在這裡、那裡加上一些動態功能,例如搜尋引擎、回饋表單等。那麼,如何在這種網站上應用模板呢?


   最簡單的方法是為每個頁面複製一份PHP文件,然後在每一個頁面中把PHP程式碼裡代表內容的變數設定成適當的頁面內容。例如,假設有三個頁面,它們分別是主頁(home)、關於(about)和產品(product),我們可以用三個檔案分別產生它們。這三個檔案的內容都類別如:



// home.php
require('class.FastTemplate.php');
$tpl = new FastTemplate('.');
$tpl->define( array( 'main' => 'main.htm',
'header' => 'header.htm',
'leftnav' => 'leftnav.htm' ) );

$content = "

歡迎參觀


用PHP製作靜態網站的模板框架(三)_PHP教程

希望你能喜歡本網站

";
$tpl->assign('CONTENT', $content);
$tpl->parse('HEADER', 'header');
$tpl->parse('LEFTNAV', 'leftnav');
$tpl->parse('MAIN', 'main');
$tpl->FastPrint('MAIN');

?>



   顯然,這種方法有三個問題:我們必須為每一個頁面複製這些複雜的、牽涉到模板的PHP代碼,這與重複公共頁面元素一樣使得頁面難以維護;現在文件又混合了HTML和PHP程式碼;為內容變數賦值將變得非常困難,因為我們必須處理好大量的特殊字元。


   解決這個問題的關鍵就在於分離PHP程式碼和HTML內容,雖然我們無法從檔案中刪除所有的HTML內容,但可以移出絕大多數PHP程式碼。

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/315434.htmlTechArticle避免頁面元素重複“這確實不錯”,你也許會想,“我的網站主要就是由大量的靜態頁面構成。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn