PHP新手上路(五)

來源:互聯網
上載者:User

建設一個簡單互動的網站(一)

  PHP的許多特點與其他軟體或者工具有關。利用迄今為止我們所學到的PHP知識,我們可以試著建立一個簡單互動的網站。利用這一過程我們又可以學到不少東西。好吧,我們現在開始專註於一個典型個人網站的建設。

5.1 計劃一個網站

  一般一個個人網站包括一個歡迎頁面、一個留言本頁面、一個書籤連結頁面、一個計數器、聯絡資訊,甚至還有照片集和一些音樂檔案等等。

5.2 用include和require進行模組化

  我們看一些用PHP構架的網站,幾乎網站每一個頁面的PHP檔案裡都會有include和require嵌入其間。這是因為使用include和require不但可增強代碼的可讀性,而且可將網站分成模組來管理。一般來說,對於一個網站上的每個頁面肯定會有重複的內容。例如:頁面頭部的導航條、廣告表徵圖、或邊部導航等。可能還在每頁的頁尾即頁面的底部有著作權或一些基於文本的導航條。如果我們要修改一個包含成千上百個頁面的大網站上的導航條或是徽標之類的內容,用我們以往的方法,我們只能遂一對每一頁面變更。不用我說,大家也能想像到這是一件多麼艱巨而痛苦的差事。那麼,我們到底有沒有更好的解決方案呢?答案是肯定的。我們可以將重複的內容都放到一個檔案中,然後在每一個需要這些內容的頁面上用PHP的include和require函數動態地調用該檔案。這樣,以後如果我們想對所有頁面上的這些複用內容做修改時,就只需要更改包含了這些重複內容的檔案。

  為了便於大家理解,讓我們先來看看include和require的一個簡單應用:

HTML的頁面開始,也許你會在網站的每頁的頭部包含它(head.htm)。
<HTML>
<HEAD>
<TITLE> 我的個人首頁 </TITLE>
</HEAD>
<BODY>

頁面內容(content.htm)。
<H1>
歡迎來我的寒舍,雖然這裡現在暫時還沒有什麼。
</H1>

HTML的頁面的結束(trail.htm)
</BODY>
</HTML>

用include和require函數把HTML從PHP中分離出來,將HTML和PHP分成模組:
<?
/*
調用HTML頁面的頭部
*/
require("head.htm");
/*
調用HTML頁面的內容
*/
require("centent.htm");
/*
調用HTML頁面的尾部
*/
require("trail.htm");
?>

5.3 讓我們從一個標題頁面、一個聯絡資訊頁面和一個簡曆頁面開始。我們同樣需要標準的、通用的頁面頭部和底部。

標題頁面--front.htm
這裡我們有一個非常簡單的html檔案:
<HTML>
<HEAD>
<TITLE>
我的個人首頁--歡迎
</TITLE>
</HEAD>
<BODY>
<H1>
我的個人首頁
</H1>
<H2>
歡迎
</H2>
<HR>
<P>
歡迎來我的寒舍,雖然這裡現在暫時還沒有什麼。
</P>
<P>
不過我希望馬上就可以多起來。
</P>
<HR>
<P ALIGN="CENTER">
<SMALL> <I>
Copyright ? 我自己,1999
</I> </SMALL>
</P>
</BODY>
</HTML>

聯絡資訊頁面--count.htm
同樣我們又有了一個簡單頁面:
<HTML>
<HEAD>
<TITLE>
我的個人首頁--聯絡資訊
</TITLE>
</HEAD>
<BODY>
<H1>
我的個人首頁
</H1>
<H2>
聯絡資訊
</H2>
<HR>
<P>
你可以通過1-800-PHP-INFO聯絡我
</P>
<HR>
<P ALIGN="CENTER">
<SMALL> <I>
Copyright ? 我自己,1999
</I> </SMALL>
</P>
</BODY>
</HTML>

5.4 從HTML到PHP

  從上面你可以看出,每個頁面有相同的頭部和底部。像上面那樣每個頁面都寫入相同的資訊在工作量少的時候還可以,但是想象一下當有100多頁面且你需要全部更改其頭部或底部時你要花費多大精力?一頁一頁的手工更改是一件多麼冗長無趣的事情啊!所以我們應該為這些頁面編寫PHP的頭部和底部檔案,之後我們只要在每個HTML頁面中引用它們就行了。在include和require函數中都包含一個PHP代碼的檔案,不管該檔案的副檔名是什麼,它都被當作是PHP檔案。我們將把這些include檔案放在一個叫include的子目錄下,並取成以.inc為尾碼的檔案。下面我們就把這些網站的通用內容寫進檔案中。

全站通用變數設定: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>
歡迎來我的寒舍,雖然這裡現在暫時還沒有什麼。
</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聯絡我
</P>
<?
include("include/footer.inc");
?>

  現在你可以體會一下這樣安排的好處了。如果你想改動頁面的頭部或者底部,你只需要改動相應的檔案就可以了。如果你要修改你的e-mail地址甚至你的名字,只要修改common.inc檔案就行了。另外值得注意的是你可以把具有任何檔案名稱或者副檔名的檔案包含進你的檔案中,你甚至可以包含其他網站上的檔案。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.