“這確實不錯”,你也許會想,“我的網站主要就是由大量的靜態頁面構成。現在我可以從所有頁面中刪除它們的公共部分,要更新這些公共部分實在太麻煩了。以后我就可以用模板制作出很容易維護的統 " /> av福利精品导航,制服丝袜中文字幕在线,久久久久久久久久码影片

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

用PHP制作靜態網站的模板框架(三)

避免頁面元素重復


   “這確實不錯”,你也許會想,“我的網站主要就是由大量的靜態頁面構成。現在我可以從所有頁面中刪除它們的公共部分,要更新這些公共部分實在太麻煩了。以后我就可以用模板制作出很容易維護的統一頁面布局。”但事情并非這么簡單,“大量的靜態頁面”道出了問題的所在。


   請考慮上面的例子。這個例子實際上只有一個example.php頁面,它之所以能夠生成整個網站的所有頁面,是因為它利用了URL中的查詢字符串從數據庫之類的信息源動態地構造出頁面。


   我們之中的大多數人所運行的網站并不一定都有數據庫支持。我們的網站大多數由靜態頁面構成,然后用php在這里、那里加上一些動態功能,比如搜索引擎、反饋表單等。那么,如何在這種網站上應用模板呢?


   最簡單的方法是為每一個頁面復制一份php文件,然后在每一個頁面中把php代碼里代表內容的變量設置成合適的頁面內容。例如,假設有三個頁面,它們分別是主頁(home)、關于(about)和產品(product),我們可以用三個文件分別生成它們。這三個文件的內容都類如:


<?php

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

$content = "<p>歡迎訪問</p>
<img src="demo.jpg">
<p>希望你能夠喜歡本網站</p>";
$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代碼。

php技術用PHP制作靜態網站的模板框架(三),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 陆丰市| 白水县| 长宁区| 宁乡县| 兖州市| 长寿区| 桑日县| 河北区| SHOW| 辉南县| 海林市| 隆尧县| 抚远县| 阿克陶县| 大理市| 息烽县| 光泽县| 廊坊市| 和顺县| 宜良县| 枝江市| 祁东县| 左云县| 民县| 张北县| 来凤县| 富蕴县| 高密市| 八宿县| 香港| 宁夏| 建水县| 奎屯市| 上饶县| 方城县| 永春县| 五台县| 马龙县| 广汉市| 西平县| 呼玛县|