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

WBOY
發布: 2016-07-21 16:06:31
原創
811 人瀏覽過

靜態網站的模板框架

   首先,我們象前面一樣為所有的頁面公用元素以及頁面整體佈局編寫模板文件;然後從所有的頁面刪除公共部分,只留下頁面內容;接下來再在每頁加上三行PHP程式碼,如下圖:







你好


歡迎參觀 p>
用PHP製作靜態網站的模板框架(四)_PHP教程

希望你能喜歡本網站





?>

   這種方法基本上解決了前面提到的各種問題。現在檔案裡只有三行PHP程式碼,而且沒有任何一行程式碼直接涉及模板,因此要改變這些程式碼的可能性極小。此外,由於HTML內容位於PHP標記之外,所以也不存在特殊字元的處理問題。我們可以很容易地將這三行PHP程式碼加入所有靜態HTML頁面中。

   require函數引進了一個PHP文件,這個文件包含了所有必需的與範本相關的PHP程式碼。其中pageStart函數設定模板物件以及頁面標題,pageFinish函數解析模板然後產生結果發送給瀏覽器。

   這是如何實現的呢?為什麼在呼叫pageFinish函數之前文件中的HTML不會傳送給瀏覽器?答案就在於PHP 4的一個新功能,這個功能允許把輸出到瀏覽器的內容截獲到緩衝區之中。讓我們來看看prepend.php的具體程式碼:


require('class.FastTemplate.php');

function pageStart($title = '') {
GLOBAL $tpl;
$tpl = new FastTemplate('.');
$tpl->define( array( 'main' => 'main.htm',
'header' => 'header.htm',
'leftnav'=> 'leftnav.htm' ) );
$tpl->assign('TITLE', $title);
ob_start() ;
}

function pageFinish() {
GLOBAL $tpl;
$content = ob_get_contents();
ob_end_clean();
$tpl-assign(. CONTENT', $content);
$tpl->parse('HEADER', 'header');
$tpl->parse('LEFTNAV', 'leftnav');
$tpl-> parse('MAIN', 'main');
$tpl->FastPrint('MAIN');
}

?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/315430.htmlTechArticle靜態網站的模板框架首先,我們象前面一樣為所有的頁面公用元素以及頁面整體佈局編寫模板文件;然後從所有的頁面刪除公共部分,只留...
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板