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


<?php

<!-- home.p " /> av伦理在线,欧美黑人粗大,欧洲视频一区二区三区

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

用PHP制作靜態(tài)網(wǎng)站的模板框架(四)

靜態(tài)網(wǎng)站的模板框架

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


<?php

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

<h1>你好</h1>
<p>歡迎訪問(wèn)</p>
<img src="demo.jpg">
<p>希望你能夠喜歡本網(wǎng)站</p>

<?php pageFinish(); ?>

?>

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

   require函數(shù)引入了一個(gè)php文件,這個(gè)文件包含了所有必需的與模板相關(guān)的php代碼。其中pageStart函數(shù)設(shè)置模板對(duì)象以及頁(yè)面標(biāo)題,pageFinish函數(shù)解析模板然后生成結(jié)果發(fā)送給瀏覽器。

   這是如何實(shí)現(xiàn)的呢?為什么在調(diào)用pageFinish函數(shù)之前文件中的HTML不會(huì)發(fā)送給瀏覽器?答案就在于php 4的一個(gè)新功能,這個(gè)功能允許把輸出到瀏覽器的內(nèi)容截獲到緩沖區(qū)之中。讓我們來(lái)看看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技術(shù)用PHP制作靜態(tài)網(wǎng)站的模板框架(四),轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 柞水县| 卢氏县| 宾阳县| 师宗县| 井冈山市| 靖远县| 武隆县| 巴塘县| 和田县| 南华县| 兰坪| 永仁县| 凤凰县| 瑞昌市| 中卫市| 巨野县| 思南县| 嵊泗县| 八宿县| 饶河县| 石阡县| 五家渠市| 沙河市| 建水县| 台北县| 仲巴县| 阳新县| 青铜峡市| 秦安县| 定安县| 宁河县| 延川县| 乐至县| 远安县| 新晃| 新蔡县| 黎平县| 娄底市| 南充市| 西藏| 曲周县|