|
php的許多特點(diǎn)與其他軟件或者工具有關(guān)。利用迄今為止我們所學(xué)到的php知識(shí),我們可以試著建立一個(gè)簡(jiǎn)單交互的網(wǎng)站。利用這一過程我們又可以學(xué)到不少東西。好吧,我們現(xiàn)在開始專注于一個(gè)典型個(gè)人網(wǎng)站的建設(shè)。
5.1 計(jì)劃一個(gè)站點(diǎn)
一般一個(gè)個(gè)人站點(diǎn)包括一個(gè)歡迎頁面、一個(gè)留言本頁面、一個(gè)書簽鏈接頁面、一個(gè)計(jì)數(shù)器、聯(lián)系信息,甚至還有照片集和一些音樂文件等等。
5.2 用include和require進(jìn)行模塊化
我們看一些用php構(gòu)架的網(wǎng)站,幾乎網(wǎng)站每一個(gè)頁面的php文件里都會(huì)有include和require嵌入其間。這是因?yàn)槭褂胕nclude和require不但可增強(qiáng)代碼的可讀性,而且可將站點(diǎn)分成模塊來管理。一般來說,對(duì)于一個(gè)網(wǎng)站上的每個(gè)頁面肯定會(huì)有重復(fù)的內(nèi)容。例如:頁面頭部的導(dǎo)航條、廣告圖標(biāo)、或邊部導(dǎo)航等。可能還在每頁的頁腳即頁面的底部有著作權(quán)或一些基于文本的導(dǎo)航條。如果我們要修改一個(gè)包含成千上百個(gè)頁面的大網(wǎng)站上的導(dǎo)航條或是徽標(biāo)之類的內(nèi)容,用我們以往的方法,我們只能遂一對(duì)每一頁面進(jìn)行更改。不用我說,大家也能想像到這是一件多么艱巨而痛苦的差事。那么,我們到底有沒有更好的解決方法呢?答案是肯定的。我們可以將重復(fù)的內(nèi)容都放到一個(gè)文件中,然后在每一個(gè)需要這些內(nèi)容的頁面上用php的include和require函數(shù)動(dòng)態(tài)地調(diào)用該文件。這樣,以后如果我們想對(duì)所有頁面上的這些復(fù)用內(nèi)容做修改時(shí),就只需要更改包含了這些重復(fù)內(nèi)容的文件。
為了便于大家理解,讓我們先來看看include和require的一個(gè)簡(jiǎn)單應(yīng)用:
HTML的頁面開始,也許你會(huì)在站點(diǎn)的每頁的頭部包含它(head.htm)。
<HTML>
<HEAD>
<TITLE> 我的個(gè)人主頁 </TITLE>
</HEAD>
<BODY>
頁面內(nèi)容(content.htm)。
<H1>
歡迎來我的寒舍,雖然這里現(xiàn)在暫時(shí)還沒有什么。
</H1>
HTML的頁面的結(jié)束(trail.htm)
</BODY>
</HTML>
用include和require函數(shù)把HTML從php中分離出來,將HTML和php分成模塊:
<?
/*
調(diào)用HTML頁面的頭部
*/
require("head.htm");
/*
調(diào)用HTML頁面的內(nèi)容
*/
require("centent.htm");
/*
調(diào)用HTML頁面的尾部
*/
require("trail.htm");
?>
5.3 讓我們從一個(gè)標(biāo)題頁面、一個(gè)聯(lián)系信息頁面和一個(gè)簡(jiǎn)歷頁面開始。我們同樣需要標(biāo)準(zhǔn)的、通用的頁面頭部和底部。
標(biāo)題頁面--front.htm
這里我們有一個(gè)非常簡(jiǎn)單的html文件:
<HTML>
<HEAD>
<TITLE>
我的個(gè)人主頁--歡迎
</TITLE>
</HEAD>
<BODY>
<H1>
我的個(gè)人主頁
</H1>
<H2>
歡迎
</H2>
<HR>
<P>
歡迎來我的寒舍,雖然這里現(xiàn)在暫時(shí)還沒有什么。
</P>
<P>
不過我希望馬上就可以多起來。
</P>
<HR>
<P ALIGN="CENTER">
<SMALL> <I>
Copyright ? 我自己,1999
</I> </SMALL>
</P>
</BODY>
</HTML>
聯(lián)系信息頁面--count.htm
同樣我們又有了一個(gè)簡(jiǎn)單頁面:
<HTML>
<HEAD>
<TITLE>
我的個(gè)人主頁--聯(lián)系信息
</TITLE>
</HEAD>
<BODY>
<H1>
我的個(gè)人主頁
</H1>
<H2>
聯(lián)系信息
</H2>
<HR>
<P>
你可以通過1-800-php-INFO聯(lián)系我
</P>
<HR>
<P ALIGN="CENTER">
<SMALL> <I>
Copyright ? 我自己,1999
</I> </SMALL>
</P>
</BODY>
</HTML>
5.4 從HTML到php
從上面你可以看出,每個(gè)頁面有相同的頭部和底部。像上面那樣每個(gè)頁面都寫入相同的信息在工作量少的時(shí)候還可以,但是想象一下當(dāng)有100多頁面且你需要全部更改其頭部或底部時(shí)你要花費(fèi)多大精力?一頁一頁的手工更改是一件多么冗長無趣的事情啊!所以我們應(yīng)該為這些頁面編寫php的頭部和底部文件,之后我們只要在每個(gè)HTML頁面中引用它們就行了。在include和require函數(shù)中都包含一個(gè)php代碼的文件,不管該文件的擴(kuò)展名是什么,它都被當(dāng)作是php文件。我們將把這些include文件放在一個(gè)叫include的子目錄下,并取成以.inc為后綴的文件。下面我們就把這些站點(diǎn)的通用內(nèi)容寫進(jìn)文件中。
全站通用變量設(shè)定:common.inc
<?
// 全站通用變量
$MyEmail = "phptalk@tnc.org";
$MyEmailLink = "<a href="mailto:$MyEmail">$MyEmail</a>";
$MyName = "php Talk";
$MySiteName = $MyName."'s Home Page";
?>
通用頁面頭部:header.inc
<?
// 定義通用頁面頭部
?>
<HTML>
<HEAD>
<TITLE>
<? echo "$MySiteName - $title"; ?>
</TITLE>
</HEAD>
<BODY>
<H1>
<? echo "$MySiteName"; ?>
</H1>
<H2>
<? echo "$title"; ?>
</H2>
<HR>
通用頁面底部:footer.inc
<?
// 通用頁面底部
?>
<HR>
<P ALIGN="CENTER">
<SMALL> <I>
Copyright ? by
<? echo "$MyName ($MyEmailLink)"; ?>
, 1999
</I> </SMALL>
</P>
</BODY>
</HTML>
新的頁面front.php3:
<?
include("include/common.inc");
$title = "Welcome";
include("include/header.inc");
?>
<P>
歡迎來我的寒舍,雖然這里現(xiàn)在暫時(shí)還沒有什么。
</P>
<P>
不過我希望馬上就可以多起來。
</P>
<?
include("include/footer.inc");
?>
新的count.php3:
<?
include("include/common.inc");
$title = "Contact Information";
include("include/header.inc");
?>
<P>
你可以通過1-800-php-INFO聯(lián)系我
</P>
<?
include("include/footer.inc");
?>
現(xiàn)在你可以體會(huì)一下這樣安排的好處了。如果你想改動(dòng)頁面的頭部或者底部,你只需要改動(dòng)相應(yīng)的文件就可以了。如果你要修改你的e-mail地址甚至你的名字,只要修改common.inc文件就行了。另外值得注意的是你可以把具有任何文件名或者文件擴(kuò)展名的文件包含進(jìn)你的文件中,你甚至可以包含其他站點(diǎn)上的文件。
php技術(shù):PHP新手上路(五),轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。