欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
PHP新手上路--eXdream blog

PHP新手上路- -

                                      

簡(jiǎn)介

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

1.簡(jiǎn)介

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

  如果你的機器解決了2000問(wèn)題,那么PHP也一樣沒(méi)有千年蟲(chóng)問(wèn)題! 

1.1 歷史

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

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

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

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

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

- 學(xué)習過(guò)程

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

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

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

- 數據庫連接

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

- 可擴展性

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

- 面向對象編程

  PHP提供了類(lèi)和對象?;趙eb的編程工作非常需要面向對象編程能力。PHP支持構造器、提取類(lèi)等。

- 可伸縮性

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

- 更多特點(diǎn)

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

為什么要選擇PHP

2. 競爭對手:ASP,mod_perl,JSP

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

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

2.1 關(guān)于A(yíng)SP  

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

2.2 關(guān)于JSP

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

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

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

2.3 關(guān)于PHP

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

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

3.1 首要條件

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

3.2 PHP的安裝

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

3.3 語(yǔ)法

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

從HTML中分離

以下是可以使用的方法:





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


語(yǔ)句

與Perl和C一樣,在PHP中用“;”來(lái)分隔語(yǔ)句。那些從HTML中分離出來(lái)的標志也表示語(yǔ)句的結束。

注釋

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

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

echo 和 print

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

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

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

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

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






First PHP page




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

PHP入門(mén)

   4.1 數據類(lèi)型

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

數值

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

字符串

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

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

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

  可以將字符和數字利用運算符號連接起來(lái)。字符被轉化成數字,利用其最初位置。在PHP手冊中有詳細的例子。  

數組與哈希表

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

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

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

對象

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

改變變量類(lèi)型

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

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

如果想要強行轉換變量類(lèi)型,可以使用與C語(yǔ)言相同的函數settype()。

4.2 變量與常量

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

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

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

4.3 運算符

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

算術(shù)和字符

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

邏輯和比較

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

優(yōu)先權

就和C以及Java一樣!

4.4 控制流程結構

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

if, else, elseif, if(): endif

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

Loops. while, do..while, for  

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

switch

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

break, continue

break中斷當前的循環(huán)控制結構。
continue被用來(lái)跳出剩下的當前循環(huán)并繼續執行下一次循環(huán)。

require, include

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

4.5 函數

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

  所有PHP代碼都可以出現在函數定義中,甚至包括對其他函數和類(lèi)的定義。函數必須在引用之前定義。

4.6 類(lèi)

  利用類(lèi)模型建立類(lèi)??梢詤⒖糚HP手冊中對類(lèi)的詳細解釋。
class Employee  
{
var $empno; // 員工人數
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();
建設一個(gè)簡(jiǎn)單交互的網(wǎng)站(一)

  PHP的許多特點(diǎn)與其他軟件或者工具有關(guān)。利用迄今為止我們所學(xué)到的PHP知識,我們可以試著(zhù)建立一個(gè)簡(jiǎn)單交互的網(wǎng)站。利用這一過(guò)程我們又可以學(xué)到不少東西。好吧,我們現在開(kāi)始專(zhuān)注于一個(gè)典型個(gè)人網(wǎng)站的建設。

5.1 計劃一個(gè)站點(diǎn)

  一般一個(gè)個(gè)人站點(diǎn)包括一個(gè)歡迎頁(yè)面、一個(gè)留言本頁(yè)面、一個(gè)書(shū)簽鏈接頁(yè)面、一個(gè)計數器、聯(lián)系信息,甚至還有照片集和一些音樂(lè )文件等等。  

5.2 用include和require進(jìn)行模塊化

  我們看一些用PHP構架的網(wǎng)站,幾乎網(wǎng)站每一個(gè)頁(yè)面的PHP文件里都會(huì )有include和require嵌入其間。這是因為使用include和require不但可增強代碼的可讀性,而且可將站點(diǎn)分成模塊來(lái)管理。一般來(lái)說(shuō),對于一個(gè)網(wǎng)站上的每個(gè)頁(yè)面肯定會(huì )有重復的內容。例如:頁(yè)面頭部的導航條、廣告圖標、或邊部導航等??赡苓€在每頁(yè)的頁(yè)腳即頁(yè)面的底部有著(zhù)作權或一些基于文本的導航條。如果我們要修改一個(gè)包含成千上百個(gè)頁(yè)面的大網(wǎng)站上的導航條或是徽標之類(lèi)的內容,用我們以往的方法,我們只能遂一對每一頁(yè)面進(jìn)行更改。不用我說(shuō),大家也能想像到這是一件多么艱巨而痛苦的差事。那么,我們到底有沒(méi)有更好的解決方法呢?答案是肯定的。我們可以將重復的內容都放到一個(gè)文件中,然后在每一個(gè)需要這些內容的頁(yè)面上用PHP的include和require函數動(dòng)態(tài)地調用該文件。這樣,以后如果我們想對所有頁(yè)面上的這些復用內容做修改時(shí),就只需要更改包含了這些重復內容的文件。

  為了便于大家理解,讓我們先來(lái)看看include和require的一個(gè)簡(jiǎn)單應用:

HTML的頁(yè)面開(kāi)始,也許你會(huì )在站點(diǎn)的每頁(yè)的頭部包含它(head.htm)。
<HTML>
<HEAD>
<TITLE> 我的個(gè)人主頁(yè) </TITLE>
</HEAD>
<BODY>  

頁(yè)面內容(content.htm)。  
<H1>
歡迎來(lái)我的寒舍,雖然這里現在暫時(shí)還沒(méi)有什么。  
</H1>  

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

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

5.3 讓我們從一個(gè)標題頁(yè)面、一個(gè)聯(lián)系信息頁(yè)面和一個(gè)簡(jiǎn)歷頁(yè)面開(kāi)始。我們同樣需要標準的、通用的頁(yè)面頭部和底部。  

標題頁(yè)面--front.htm  
這里我們有一個(gè)非常簡(jiǎn)單的html文件:
<HTML>
<HEAD>
<TITLE>
我的個(gè)人主頁(yè)--歡迎
</TITLE>
</HEAD>
<BODY>
<H1>
我的個(gè)人主頁(yè)
</H1>
<H2>
歡迎
</H2>
<HR>
<P>
歡迎來(lái)我的寒舍,雖然這里現在暫時(shí)還沒(méi)有什么。
</P>
<P>
不過(guò)我希望馬上就可以多起來(lái)。
</P>
<HR>
<P ALIGN="CENTER">
<SMALL> <I>
Copyright ? 我自己,1999
</I> </SMALL>
</P>
</BODY>
</HTML>

聯(lián)系信息頁(yè)面--count.htm
同樣我們又有了一個(gè)簡(jiǎn)單頁(yè)面:
<HTML>
<HEAD>
<TITLE>
我的個(gè)人主頁(yè)--聯(lián)系信息
</TITLE>
</HEAD>
<BODY>
<H1>
我的個(gè)人主頁(yè)
</H1>
<H2>
聯(lián)系信息
</H2>
<HR>
<P>
你可以通過(guò)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è)頁(yè)面有相同的頭部和底部。像上面那樣每個(gè)頁(yè)面都寫(xiě)入相同的信息在工作量少的時(shí)候還可以,但是想象一下當有100多頁(yè)面且你需要全部更改其頭部或底部時(shí)你要花費多大精力?一頁(yè)一頁(yè)的手工更改是一件多么冗長(cháng)無(wú)趣的事情??!所以我們應該為這些頁(yè)面編寫(xiě)PHP的頭部和底部文件,之后我們只要在每個(gè)HTML頁(yè)面中引用它們就行了。在include和require函數中都包含一個(gè)PHP代碼的文件,不管該文件的擴展名是什么,它都被當作是PHP文件。我們將把這些include文件放在一個(gè)叫include的子目錄下,并取成以.inc為后綴的文件。下面我們就把這些站點(diǎn)的通用內容寫(xiě)進(jìn)文件中。

全站通用變量設定:common.inc
<?
// 全站通用變量
$MyEmail = "phptalk@tnc.org";
$MyEmailLink = "<a href="mailto:$MyEmail">$MyEmail</a>";
$MyName = "PHP Talk";
$MySiteName = $MyName."‘s Home Page";
?>

通用頁(yè)面頭部:header.inc
<?
// 定義通用頁(yè)面頭部
?>
<HTML>
<HEAD>
<TITLE>
<? echo "$MySiteName - $title"; ?>
</TITLE>
</HEAD>
<BODY>
<H1>
<? echo "$MySiteName"; ?>
</H1>
<H2>
<? echo "$title"; ?>
</H2>
<HR>

通用頁(yè)面底部:footer.inc
<?
// 通用頁(yè)面底部
?>
<HR>
<P ALIGN="CENTER">
<SMALL> <I>
Copyright ? by  
<? echo "$MyName ($MyEmailLink)"; ?>
, 1999
</I> </SMALL>
</P>
</BODY>
</HTML>

新的頁(yè)面front.php3:
<?
include("include/common.inc");
$title = "Welcome";
include("include/header.inc");
?>
<P>
歡迎來(lái)我的寒舍,雖然這里現在暫時(shí)還沒(méi)有什么。
</P>
<P>
不過(guò)我希望馬上就可以多起來(lái)。
</P>
<?
include("include/footer.inc");
?>

新的count.php3:
<?
include("include/common.inc");
$title = "Contact Information";
include("include/header.inc");
?>
<P>
你可以通過(guò)1-800-PHP-INFO聯(lián)系我
</P>
<?
include("include/footer.inc");
?>

  現在你可以體會(huì )一下這樣安排的好處了。如果你想改動(dòng)頁(yè)面的頭部或者底部,你只需要改動(dòng)相應的文件就可以了。如果你要修改你的e-mail地址甚至你的名字,只要修改common.inc文件就行了。另外值得注意的是你可以把具有任何文件名或者文件擴展名的文件包含進(jìn)你的文件中,你甚至可以包含其他站點(diǎn)上的文件。 
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
PHP 變量類(lèi)型的強制轉換
優(yōu)化PHP代碼的40條建議
PHP中對單引號和雙引號的區別
PHP開(kāi)發(fā)經(jīng)驗總結
PHP句法規則詳解
PHP開(kāi)發(fā)提高效率技巧
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久