2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

PHP新手上路--eXdream blog

 haroo 2005-09-08

PHP新手上路- -

                                      

簡(jiǎn)介

  PHP是一種易于學(xué)習(xí)和使用的服務(wù)器端腳本語言。只需要很少的編程知識(shí)你就能使用PHP建立一個(gè)真正交互的WEB站點(diǎn)。本教程并不想讓你完全了解這種語言,只是能使你盡快加入開發(fā)動(dòng)態(tài)web站點(diǎn)的行列。我假定你有一些HTML(或者HTML編輯器)的基本知識(shí)和一些編程思想。 

1.簡(jiǎn)介

  PHP是能讓你生成動(dòng)態(tài)網(wǎng)頁的工具之一。PHP代表:超文本預(yù)處理器(PHP: Hypertext Preprocessor)。PHP是完全免費(fèi)的,不用花錢,你可以從PHP官方站點(diǎn)(http://www.)自由下載。PHP遵守GNU公共許可(GPL),在這一許可下誕生了許多流行的軟件諸如Linux和Emacs。你可以不受限制的獲得源碼,甚至可以從中加進(jìn)你自己需要的特色。PHP在大多數(shù)Unix平臺(tái),GUN/Linux和微軟Windows平臺(tái)上均可以運(yùn)行。怎樣在Windows環(huán)境的PC機(jī)器或Unix機(jī)器上安裝PHP的資料可以在PHP官方站點(diǎn)上找到,也可以查閱網(wǎng)頁陶吧的“PHP安裝全攻備”專題文章。安裝過程很簡(jiǎn)單。

  如果你的機(jī)器解決了2000問題,那么PHP也一樣沒有千年蟲問題! 

1.1 歷史

  三年前,Rasmus Lerdorf為了創(chuàng)建他的在線簡(jiǎn)歷而創(chuàng)造了"個(gè)人主頁工具"(Personal Home Page Tools)。這是一種非常簡(jiǎn)單的語言。其后越來越多的人們注意到了這種語言并對(duì)其擴(kuò)展提出了各種建議。在許多人的無私奉獻(xiàn)下以及這種語言本身的源代碼自由性質(zhì),它演變成為一種特點(diǎn)豐富的語言,而且現(xiàn)在還在成長(zhǎng)中。

  PHP雖然很容易學(xué)習(xí),但是速度上比mod_perl(植入web服務(wù)器的perl模塊)慢?,F(xiàn)在有了可以與mod_perl速度想媲美的被稱作Zend的新引擎,而PHP4就可以充分利用這個(gè)引擎?,F(xiàn)在,PHP4正式版已經(jīng)發(fā)布,大家可以到php的官方站點(diǎn)上去下載。Andy Gutmans和Zeev Suraki是Zend的主要作者。可以去Zend站點(diǎn)(http://www.)了解更多。

  PHP的應(yīng)用在個(gè)人性質(zhì)的web工程中增長(zhǎng)顯著。根據(jù)Netcraft在1999年10月的報(bào)告,有931122個(gè)域和321128個(gè)IP地址利用PHP技術(shù)。

1.2 PHP的先進(jìn)之處

  應(yīng)用PHP有許多好處。當(dāng)然已知的不利之處在于PHP由于是開放源碼項(xiàng)目,沒有什么商業(yè)支持,并且由此而帶來的執(zhí)行速度緩慢(直到PHP4之前)。但是PHP的郵件列表很是有用而且除非你正在運(yùn)行像Yahoo!或者Amazon.com這樣的極受歡迎的站點(diǎn),你不會(huì)感覺出PHP的速度與其他的有什么不同。最起碼我就沒有感覺出來!好了,讓我們來看看PHP有那些優(yōu)點(diǎn):

- 學(xué)習(xí)過程

  我個(gè)人更喜歡PHP的非常簡(jiǎn)單的學(xué)習(xí)過程。與Java和Perl不同,你不必把頭埋進(jìn)100多頁的文檔中努力學(xué)習(xí)才可以寫出一個(gè)象樣的程序。只要了解一些基本的語法和語言特色,你就可以開始你的PHP編碼之旅了。之后你在編碼過程中如果遇到了什么麻煩,還可以再去翻閱相關(guān)文檔。

  PHP的語法類似于C,Perl,ASP或者JSP。對(duì)于那些對(duì)上述之一的語言較熟悉的人來說,PHP太簡(jiǎn)單了。相反的,如果你對(duì)PHP了解較多,那么你對(duì)于其他幾種語言的學(xué)習(xí)都很簡(jiǎn)單了。

  你只需要30分鐘就可以將PHP的核心語言特點(diǎn)全部掌握,你可能已經(jīng)非常了解HTML,甚至你已經(jīng)知道怎樣用編輯設(shè)計(jì)軟件或者手工來制作好看的WEB站點(diǎn)。由于PHP代碼能夠無障礙的添加進(jìn)你的站點(diǎn),在你設(shè)計(jì)和維護(hù)站點(diǎn)的同時(shí),你可以很輕松的加入PHP使得你的站點(diǎn)更加具有動(dòng)態(tài)特性。

- 數(shù)據(jù)庫連接

  PHP可以編譯成具有與許多數(shù)據(jù)庫相連接的函數(shù)。PHP與MySQL是現(xiàn)在絕佳的組合。你還可以自己編寫外圍的函數(shù)取間接存取數(shù)據(jù)庫。通過這樣的途徑當(dāng)你更換使用的數(shù)據(jù)庫時(shí),可以輕松的更改編碼以適應(yīng)這樣的變化。PHPLIB就是最常用的可以提供一般事務(wù)需要的一系列基庫。

- 可擴(kuò)展性

  就像前面說的那樣,PHP已經(jīng)進(jìn)入了一個(gè)高速發(fā)展的時(shí)期。對(duì)于一個(gè)非程序員來說為PHP擴(kuò)展附加功能可能會(huì)比較難,但是對(duì)于一個(gè)PHP程序員來說并不困難。

- 面向?qū)ο缶幊?

  PHP提供了類和對(duì)象。基于web的編程工作非常需要面向?qū)ο缶幊棠芰?。PHP支持構(gòu)造器、提取類等。

- 可伸縮性

  傳統(tǒng)上網(wǎng)頁的交互作用是通過CGI來實(shí)現(xiàn)的。CGI程序的伸縮性不很理想,因?yàn)樗鼮槊恳粋€(gè)正在運(yùn)行的CGI程序開一個(gè)獨(dú)立進(jìn)程。解決方法就是將經(jīng)常用來編寫CGI程序的語言的解釋器編譯進(jìn)你的web服務(wù)器(比如mod_perl,JSP)。PHP就可以以這種方式安裝,雖然很少有人愿意這樣以CGI方式安裝它。內(nèi)嵌的PHP可以具有更高的可伸縮性。

- 更多特點(diǎn)

  PHP的開發(fā)者們?yōu)榱烁m合web編程,開發(fā)了許多外圍的流行基庫,這些庫包含了更易用的層。你可以利用PHP連接包括Oracle,MS-Access,Mysql在內(nèi)的大部分?jǐn)?shù)據(jù)庫。你可以在蒼蠅上畫圖,編寫程序下載或者顯示e-mail。你甚至可以完成網(wǎng)絡(luò)相關(guān)的功能。最好的是,你可以選擇你的PHP安裝版本需要哪些功能。引用Nissan的Xterra的話來說就是PHP可以做到你想讓它做到的一切而且無所不能! 

為什么要選擇PHP

2. 競(jìng)爭(zhēng)對(duì)手:ASP,mod_perl,JSP

  用于實(shí)現(xiàn)交互式動(dòng)態(tài)網(wǎng)頁的技術(shù)有好多,其中CGI又稱通用網(wǎng)關(guān)接口(Common Gateway Interface),是外部程序和WEB服務(wù)器之間的標(biāo)準(zhǔn)編程接口,但是CGI程序帶來的缺點(diǎn)實(shí)在太多;而Perl很好地解決了CGI中的問題,被用來驅(qū)動(dòng)復(fù)雜的WEB技術(shù);微軟的ASP(Active Server Pages)的出現(xiàn),以它容易上手、輕松編寫程序和微軟件強(qiáng)有力的支持后盾使得ASP一下子成了許專業(yè)編程人員和非專業(yè)編程人員的寵兒;Middle ware和Allaire的Cold Fusion是另一種解決方法,并且Cold Fusion有一個(gè)已證實(shí)可靠的搜索引擎組件;JSP 是Sun公司推出的新一代站點(diǎn)開發(fā)語言等等。有這么多的動(dòng)態(tài)WEB技術(shù),也許你會(huì)問:“為什么我要選擇PHP呢?”  

  在回答這一問題之前,讓我們先來看看ASP,PHP和JSP之間的優(yōu)缺點(diǎn)。  

2.1 關(guān)于ASP  

  ASP 由于其簡(jiǎn)單功能實(shí)用等方面受到廣大朋友的喜歡,再加上MS的強(qiáng)有力支持,可以說是時(shí)下作站點(diǎn)最為流行的語言之一,他借助MS的Com+ 技術(shù),幾乎可以實(shí)現(xiàn)在C/S 能夠?qū)崿F(xiàn)的所有功能,可以說確實(shí)具有相當(dāng)?shù)母?jìng)爭(zhēng)力。ASP的代碼實(shí)現(xiàn)也很簡(jiǎn)單,MS 提供的InterDev 在RAD 的基礎(chǔ)上,使ASP 的開發(fā)一夜之間火遍了大江南北。但是他的缺點(diǎn)是,由于MS 長(zhǎng)久以來的霸道作風(fēng),他只能運(yùn)行在MS的平臺(tái)上,因此在關(guān)鍵性的應(yīng)用上使人難以輕易接受。

2.2 關(guān)于JSP

  JSP 是Sun公司推出的新一代站點(diǎn)開發(fā)語言,他完全解決了目前ASP,PHP的一個(gè)通病--腳本級(jí)執(zhí)行(現(xiàn)在PHP4 也已經(jīng)在Zend 的支持下,實(shí)現(xiàn)編譯運(yùn)行).Sun 公司借助自己在Java 上的不凡造詣,將Java 從Java 應(yīng)用程序 和 Java Applet 之外,又有新的碩果,就是Jsp--Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能強(qiáng)大的站點(diǎn)程序。

  據(jù)我所知,JSP基于Java,因此Java程序員可以輕松開始編碼。ASP只是一個(gè)一般的引擎,具有支持多種語言的能力,不過默認(rèn)的并且是最常用的還是VBScript。mod_perl與Perl一樣強(qiáng)大,只是更快一些。  

  對(duì)于ASP、JSP、PHP等,到底哪種語言更好?不同的人有不同的看法。不過有一點(diǎn)我們必須要明確的:對(duì)于ASP、JSP等,你是否清楚購買它們會(huì)有多昂貴以及它們需要多么昂貴和強(qiáng)大的硬件。如果你有什么中立的觀點(diǎn)(比如說沒有被SUN和Microsoft的百萬美金所影響),請(qǐng)順便通知我。

2.3 關(guān)于PHP

  PHP 是秉承Linux 的GNU 風(fēng)格,借助與源碼公開,使他迅速成為世界上目前應(yīng)用最為廣泛的站點(diǎn)制作語言之一。借助與C++的形式,引用類的概念,使得代碼的可重復(fù)性應(yīng)用便的異常簡(jiǎn)單。加上他和Linux,Apache 和MySql 的緊密配合,關(guān)鍵性的應(yīng)用也沒有問題(有名的Sina就 是采用Php)。同時(shí),PHP第四代Zend(PHP4)的核心引擎正式版也已經(jīng)發(fā)布了,整個(gè)程序的核心得到了大幅度的改進(jìn),讓PHP程序的執(zhí)行速度變得更快。PHP在最佳化之后的效率,已比傳統(tǒng)CGI或者ASP等程序有了更好的表現(xiàn)。而且正因?yàn)镻HP是免費(fèi)的,因此任何人都可以訪問PHP WEB站點(diǎn),下載完整的源代碼。更重要的是:用PHP編寫的代碼執(zhí)行起來會(huì)更快,能實(shí)現(xiàn)同樣功能的PHP代碼,不用改變就可以在不同的WEB服務(wù)器上、不同的操作系統(tǒng)下運(yùn)行。就憑這一點(diǎn),你就已經(jīng)有足夠的理由選擇PHP。
從一個(gè)簡(jiǎn)單的程序來了解PHP

  PHP站點(diǎn)的在線教程已經(jīng)很棒了。而本文的該部分將讓你對(duì)PHP熟悉一點(diǎn)。我不可能做到?jīng)]有任何遺漏,我的目的只在于能讓你迅速開始你的PHP編程。  

3.1 首要條件

  你首先必須要有一個(gè)正在工作著的支持PHP的web服務(wù)器。我假定在你的服務(wù)器上所有PHP文件的擴(kuò)展名為.php3。

3.2 PHP的安裝

  有關(guān)PHP的安裝配置,可以查閱網(wǎng)頁陶吧上的“PHP安裝全攻略”專題文章。

3.3 語法

  從語法上看,PHP語言近似于C語言。可以說,PHP是借鑒C語言的語法特征,由C語言改進(jìn)而來的。我們可以混合編寫PHP代碼和HTML代碼,不僅可以將PHP腳本嵌入到 HTML 文件中,我們甚至還可以把 HTML 標(biāo)簽也嵌入在 PHP 腳本里。以下是你可以采用的幾種方法。你可以選用其中一種你最適合的并且就這樣堅(jiān)持這種方法!

從HTML中分離

以下是可以使用的方法:





  注:當(dāng)你使用“”將PHP代碼嵌入于HTML文件中時(shí),可能會(huì)同XML發(fā)生沖突,同時(shí),能否使用這一縮減形式還取決于PHP本身的設(shè)置。為了可適應(yīng)XML和其它編輯器,你可以在開始的問號(hào)后面加上“php”使PHP代碼適應(yīng)于XML分析器。如:“”。也可以像寫其它腳本語言那樣使用腳本標(biāo)記,如:“ ”。


語句

與Perl和C一樣,在PHP中用“;”來分隔語句。那些從HTML中分離出來的標(biāo)志也表示語句的結(jié)束。

注釋

PHP支持C,C++和Unix風(fēng)格的注釋方式:  

/* C,C++風(fēng)格多行注釋 */  
// C++風(fēng)格單行注釋  
# Unix風(fēng)格單行注釋  

echo 和 print

  PHP 和 HTML 最簡(jiǎn)單的交互是通過 print 和 echo 語句來實(shí)現(xiàn)的,在實(shí)際使用中, print 和 echo 兩者的功能幾乎是完全一樣??梢赃@么說,凡是有一個(gè)可以使用的地方,另一個(gè)也可以使用。但是,兩者之間也還是一個(gè)非常重要的區(qū)別:在 echo 函數(shù)中,可以同時(shí)輸出多個(gè)字符串,而在 print 函數(shù)中則只可以同時(shí)輸出一個(gè)字符串。同時(shí),echo函數(shù)并不需要圓括號(hào),所以echo函數(shù)更像是語句而不像是函數(shù)。讓我們來看看下面這一實(shí)例:

$a="hello";
$b="world";
echo "a","b";
print "a","b";
?>

用瀏覽器觀看這段代碼的運(yùn)行情況后,你會(huì)看到這樣的運(yùn)行結(jié)果:
aba
Parse error: parse error in d:adminmyphphometest.php3 on line 5
這說明這段代碼并不能完全通過解釋,發(fā)生錯(cuò)誤的地方就在代碼的第五行:“print "a","b";”。

3.4一個(gè)簡(jiǎn)單的實(shí)例

  通過我們已經(jīng)學(xué)過的知識(shí),你可以編寫一個(gè)最簡(jiǎn)單的程序輸出一個(gè)也許是程序世界中最有名的詞語






First PHP page




// Single line C++ style comment
/*
printing the message
*/
echo "Hello World!";
# Unix style single line comment
?>

PHP入門

   4.1 數(shù)據(jù)類型

  PHP支持整數(shù)、浮點(diǎn)數(shù)、字符串、數(shù)組和對(duì)象。變量類型通常不由程序員決定而由PHP運(yùn)行過程決定(真是好的解脫?。?。當(dāng)然,如果你喜歡的話,你也可以使用cast或者函數(shù)settype()將某種類型的變量轉(zhuǎn)換成指定的類型。

數(shù)值

  數(shù)值類型可以是整數(shù)或是浮點(diǎn)數(shù)。你可以用以下的語句來為一個(gè)數(shù)值賦值:
$a = 1234; # 十進(jìn)制數(shù)
$a = -123; # 負(fù)數(shù)
$a = 0123; # 八進(jìn)制數(shù) (等于十進(jìn)制數(shù)的83)
$a = 0x12; # 十六進(jìn)制數(shù)(等于十進(jìn)制數(shù)的18)
$a = 1.234; # 浮點(diǎn)數(shù)"雙精度數(shù)"
$a = 1.2e3; # 雙精度數(shù)的指數(shù)形式

字符串

  字符串可以由單引號(hào)或雙引號(hào)引出的字段定義。注意不同的是被單引號(hào)引出的字符串是以字面定義的,而雙引號(hào)引出的字符串可以被擴(kuò)展。而且,在雙引號(hào)字符串中可以使用反斜杠()在字符串中加入轉(zhuǎn)義序列和轉(zhuǎn)換字符。舉例如下:

$first = ‘Hello‘;
$second = "World";
$full1 = "$first $second"; # 產(chǎn)生 Hello World
$full2 = ‘$first $second‘;# 產(chǎn)生 $first $second
$full3="01DC studio,." 2000 copyright." " ;

  請(qǐng)注意最后一行,如果需要在字符串中使用雙引號(hào),可以使用反斜杠字符,象該行語句所示。這里的的反斜杠用來使雙引號(hào)的功能改變。

  可以將字符和數(shù)字利用運(yùn)算符號(hào)連接起來。字符被轉(zhuǎn)化成數(shù)字,利用其最初位置。在PHP手冊(cè)中有詳細(xì)的例子。  

數(shù)組與哈希表

  數(shù)組與哈希表以同樣的方法被支持。怎樣運(yùn)用取決于你怎樣定義它們。你可以用list()或者array()來定義它們,也可以直接為數(shù)組賦值。數(shù)組的索引從0開始。雖然我在這里沒有說明,但是你一樣可以輕易的使用多維數(shù)組。

// 一個(gè)包含兩個(gè)元素的數(shù)組
$a[0] = "first";  
$a[1] = "second";  
$a[] = "third"; // 添加數(shù)組元素的簡(jiǎn)單方法
// 現(xiàn)在$a[2]被賦值為"third"
echo count($a); // 打印出3,因?yàn)樵摂?shù)組有3個(gè)元素
// 用一個(gè)語句定義一個(gè)數(shù)組并賦值
$myphonebook = array (
"sbabu" => "5348",
"keith" => "4829",
"carole" => "4533"
);
// 噢,忘了教長(zhǎng)吧,讓我們添加一個(gè)元素
$myphonebook["dean"] = "5397";
// 你定義的carale元素錯(cuò)了,讓我們更正它
$myphonebook["carole"] => "4522"
// 我還沒有告訴你怎樣使用數(shù)組的相似支持方式嗎?讓我們看一看
echo "$myphonebook[0]"; // sbabu
echo "$myphonebook[1]"; // 5348  

其他一些對(duì)數(shù)組或哈希表有用的函數(shù)包括sort(),next(),prev()和each()。

對(duì)象

  使用new語句產(chǎn)生一個(gè)對(duì)象:
class foo  
{
function do_foo ()  
{  
echo "Doing foo.";  
}
}
$bar = new foo;
$bar->do_foo();

改變變量類型

  在PHP手冊(cè)中提到:"PHP不支持(也不需要)直接在聲明變量時(shí)定義變量類型;變量類型將根據(jù)其被應(yīng)用的情況決定。如果你為變量var賦值為一個(gè)字符串,那么它變成了一個(gè)字符串。如果你又為它賦了整數(shù)值,那么它就變成了整數(shù)。"

$foo = "0"; // $foo是字符串(ASCII 48)
$foo++; // $foo是字符串"1" (ASCII 49)
$foo += 1; // $foo現(xiàn)在是整數(shù)(2)
$foo = $foo + 1.3; // $foo是一個(gè)雙精度數(shù)(3.3)
$foo = 5 + "10 Little Piggies"; // $foo是一個(gè)整數(shù)(15)
$foo = 5 + "10 Small Pigs"; // $foo是一個(gè)整數(shù)(15)

如果想要強(qiáng)行轉(zhuǎn)換變量類型,可以使用與C語言相同的函數(shù)settype()。

4.2 變量與常量

  可能你已經(jīng)注意到,變量都有一個(gè)美元符號(hào)($)的前綴。所有變量都是局部變量,為了使得定義的函數(shù)中可以使用外部變量,使用global語句。而你要將該變量的作用范圍限制在該函數(shù)之內(nèi),使用static語句。
$g_var = 1 ; // 全局范圍
function test()  
{
global $g_var; // 這樣就可以聲明全局變量了
}

  更先進(jìn)一些的是變量的變量表示。請(qǐng)參考PHP手冊(cè)。這在有時(shí)會(huì)顯得很有用。

  PHP內(nèi)置了許多已定義的變量。你也可以用define函數(shù)定義你自己的常量,比如define("CONSTANT","value")。

4.3 運(yùn)算符

  PHP具有C,C++和Java中的通常見到的運(yùn)算符。這些運(yùn)算符的優(yōu)先權(quán)也是一致的。賦值同樣使用"="。

算術(shù)和字符

  以下只有一種運(yùn)算符是有關(guān)字符的:
$a + $b :加
$a - $b :減
$a * $b :乘
$a / $b :除
$a % $b :取模(余數(shù))
$a . $b :字符串連接

邏輯和比較

邏輯運(yùn)算符有:
$a || $b :或
$a or $b :或
$a && $b :與
$a and $b :與
$a xor $b :異或 (當(dāng)$a或$b為true時(shí)為true,兩者一樣時(shí)為false)  
! $a :非
比較運(yùn)算符有:
$a == $b :相等
$a != $b :不等
$a < $b :小于
$a <= $b :小于等于
$a > $b :大于
$a >= $b :大于等于
與C一樣PHP也有三重運(yùn)算符(?:)。位操作符在PHP同樣存在。

優(yōu)先權(quán)

就和C以及Java一樣!

4.4 控制流程結(jié)構(gòu)

  PHP有著與C一樣的流程控制。我將在下面大概介紹。

if, else, elseif, if(): endif

if (表達(dá)式一)  
{
. . .
}  
elseif (表達(dá)式二)  
{
. . .
}  
else  
{
. . .
}
// 或者像Python一樣
if (表達(dá)式一) :
. . .
. . .
elseif (表達(dá)式二) :
. . .
else :
. . .
endif ;

Loops. while, do..while, for  

while (表達(dá)式)  
{
. . .
}
do  
{
. . .
}  
while (表達(dá)式);
for (表達(dá)式一; 表達(dá)式二; 表達(dá)式三)  
{
. . .
}
//或者像Python一樣
while (expr) :
. . .
endwhile ;

switch

switch是對(duì)多重if-elseif-else結(jié)構(gòu)的最好的替換:
switch ($i)  
{
case 0:
print "i equals 0";
case 1:
print "i equals 1";
case 2:
print "i equals 2";
}

break, continue

break中斷當(dāng)前的循環(huán)控制結(jié)構(gòu)。
continue被用來跳出剩下的當(dāng)前循環(huán)并繼續(xù)執(zhí)行下一次循環(huán)。

require, include

  就像C中的#include預(yù)處理一樣。你在require中指定的那個(gè)文件將替代其在主文件中的位置。在有條件的引用文件時(shí),可以使用include()。這樣就使得你可以將復(fù)雜的PHP文件分割成多個(gè)文件并且在不同需要時(shí)分別引用它們。

4.5 函數(shù)

  你可以像以下的例子一樣定義自己的函數(shù)。函數(shù)的返回值可以是任何數(shù)據(jù)類型:
function foo (變量名一, 變量名二, . . . , 變量名n)  
{
echo "Example function.n";
return $retval;
}

  所有PHP代碼都可以出現(xiàn)在函數(shù)定義中,甚至包括對(duì)其他函數(shù)和類的定義。函數(shù)必須在引用之前定義。

4.6 類

  利用類模型建立類??梢詤⒖糚HP手冊(cè)中對(duì)類的詳細(xì)解釋。
class Employee  
{
var $empno; // 員工人數(shù)
var $empnm; // 員工姓名

function add_employee($in_num, $in_name)
{
$this->empno = $in_num;
$this->empnm = $in_name;
}

function show()  
{
echo "$this->empno, $this->empnm";
return;
}

function changenm($in_name)
{
$this->empnm = $in_name;
}
}

$sbabu = new Employee;
$sbabu->add_employee(10,"sbabu");
$sbabu->changenm("babu");
$sbabu->show();
建設(shè)一個(gè)簡(jiǎn)單交互的網(wǎng)站(一)

  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)多大精力?一頁一頁的手工更改是一件多么冗長(zhǎng)無趣的事情??!所以我們應(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)上的文件。 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多