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


<?php

<!-- home.p " /> 中文字幕丰满孑伦,91这里只有精品,日韩在线二区全免费

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

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

靜態網站的模板框架

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


<?php

<!-- home.php -->
<?php require('prepend.php'); ?>
<?php pageStart('Home'); ?>

<h1>你好</h1>
<p>歡迎訪問</p>
<img src="demo.jpg">
<p>希望你能夠喜歡本網站</p>

<?php pageFinish(); ?>

?>

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

   require函數引入了一個php文件,這個文件包含了所有必需的與模板相關的php代碼。其中pageStart函數設置模板對象以及頁面標題,pageFinish函數解析模板然后生成結果發送給瀏覽器。

   這是如何實現的呢?為什么在調用pageFinish函數之前文件中的HTML不會發送給瀏覽器?答案就在于php 4的一個新功能,這個功能允許把輸出到瀏覽器的內容截獲到緩沖區之中。讓我們來看看prepend.php的具體代碼:

<?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');
}

?>

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

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

主站蜘蛛池模板: 亚洲精品国产自在久久出水 | 日本欧美国产精品第一页久久 | 色婷婷久| 狠狠色噜噜狠狠狠米奇9999 | 91成人免费福利网站在线 | 综合色网站 | 日本午夜www高清视频 | 成人国产精品免费视频 | 中文久久| 男人女人黄 色视频免费 | 亚洲人成网77777亚洲 | 免费看91 | 麻豆精品久久久 | xfplay影音先锋永久资源 | 久久久噜久噜久久gif动图 | 亚洲精品影院久久久久久 | 国产精品久久久久久五月尺 | 国产福利一区二区三区在线视频 | 五月婷婷社区 | 亚欧免费视频 | 日韩中文字幕久久久经典网 | 亚洲成人福利在线观看 | www日本在线观看 | 色哟哟精品 | 91精品国产91久久综合 | a级精品九九九大片免费看 a加勒比一本东京 | 一区二区3区免费视频 | 亚洲成人手机在线 | 免费黄色视屏 | 久久久久久久综合 | 91精品国产91热久久p | 91精品福利老司机在线观看 | 亚洲香蕉久久一区二区三区四区 | 国产精品伦子一区二区三区 | 日本三级一区二区三区 | 国内自拍第五一页 | 精品九九九| 成人精品一区二区三区 | 欧美精品国产制服第一页 | 国产成人精品午夜 | 国内精品久久久久久久久野战 |