欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php 什么是PEAR?

 更新時(shí)間:2009年03月19日 01:10:00   作者:  
什么是PEAR?(第一篇) 第一章 愛(ài)好PHP者必喜歡PEAR
PHP愛(ài)好者必喜歡PEAR,我們的目的就是希望將PEAR介紹給PHP的程式開(kāi)發(fā)人員,我個(gè)人認(rèn)為引用程式庫(kù)的程式開(kāi)發(fā)方式已經(jīng)漸漸成為趨勢(shì)了,除了php、JSP外,像perl、C++也都有專(zhuān)屬的程式庫(kù)供其開(kāi)發(fā)人員引用。
借著引入PEAR,php的程式開(kāi)發(fā)者除了可以大幅縮減撰寫(xiě)程式碼的工作與時(shí)間外,還可以用很簡(jiǎn)單的方式得到許多強(qiáng)大的動(dòng)態(tài)網(wǎng)頁(yè)功能,我將會(huì)列舉許多的實(shí)例,讓大家看了后,一定會(huì)啪掌叫好,並深深的迷上了PEAR。此外,程式碼很容易維護(hù),安全性高也是PEAR另2個(gè)很吸引人的優(yōu)點(diǎn),PAER程式庫(kù)宛如模組,可以輕易的抽換與更新,完全不會(huì)影響到其他的程式碼。
我們是從最基本的觀念介紹起,包括PEAR這個(gè)專(zhuān)有名詞的含意? 在那地方取得PEAR套件(package)? 如何使用PEAR套件等?
從第2章起,我們首先介紹PEAR的起源、歷史與特色,讓大家對(duì)PEAR有個(gè)基本的認(rèn)識(shí)。
第3章我們將會(huì)介紹PEAR程式庫(kù)套件的安裝與管理方法,這一章是非常重要的,在使用PEAR之前,必需先把這些基本功夫?qū)W好,雖然有點(diǎn)復(fù)雜,但是學(xué)會(huì)之后受用無(wú)窮,讓您的PHP程式開(kāi)發(fā)效率倍增,功能隨著遞升。
第4章,是由簡(jiǎn)單的范例介紹如何引用PEAR程式庫(kù)來(lái)開(kāi)發(fā)PHP程序,讓我們了解PEAR的一般使用方法,也為程式庫(kù)的使用建立一個(gè)基本的操作流程。
在第五章我們將介紹幾個(gè)用法簡(jiǎn)單又功能強(qiáng)大的程式庫(kù)套件的范例,讓大家可以在動(dòng)態(tài)網(wǎng)頁(yè)上快速建立一些您以前無(wú)法想像而又非??岬墓δ?,讓您的程式開(kāi)發(fā)功力立刻提高。例如:
◆ 讓網(wǎng)頁(yè)可以提供天氣預(yù)報(bào)的功能,增加網(wǎng)頁(yè)的附加價(jià)值。
◆ 用很簡(jiǎn)單的方法在服務(wù)器上建立網(wǎng)頁(yè)的快取(Cache),加快網(wǎng)頁(yè)的開(kāi)啟速度。
◆ 在動(dòng)態(tài)網(wǎng)頁(yè)上搜尋某臺(tái)主機(jī)有提供那些PORT號(hào)的服務(wù)。
◆ 在動(dòng)態(tài)網(wǎng)頁(yè)上查詢某個(gè)網(wǎng)域名稱(chēng)(DNS),找出相對(duì)應(yīng)的IP。
◆ 動(dòng)態(tài)產(chǎn)生HTML表格。
◆ 快速建立「客戶回函」系統(tǒng),讓網(wǎng)頁(yè)瀏覽者可以從網(wǎng)頁(yè)上寄信給網(wǎng)站管理員。
◆ 讓網(wǎng)頁(yè)可以記錄網(wǎng)頁(yè)瀏覽者的行為,也就是做Log。
第6章到第13章,我們會(huì)很詳細(xì)地介紹一些很重要,很常用,但較為復(fù)雜的程式庫(kù)套件的使用方法,這幾章都是以套件為介紹的主軸,也就是說(shuō),一章只介紹一個(gè)套件,務(wù)求將這幾個(gè)重要套件中較為重要功能,詳細(xì)地介紹給大家。
這些套件(packages)包括:資料庫(kù)連線套件、表單制作套件、身份認(rèn)證套件、檔案上傳套件、分頁(yè)套件等等。
最后,附錄A會(huì)對(duì)PEAR的官方網(wǎng)站做詳細(xì)的介紹,當(dāng)您進(jìn)入PEAR的世界后,您一定會(huì)經(jīng)常來(lái)這個(gè)網(wǎng)站尋找資料。知道如何利用官方網(wǎng)站,對(duì)于那些PEAR的PHP開(kāi)發(fā)者而言,是十分重要的。附錄B則會(huì)對(duì)PHP的物件導(dǎo)向程式設(shè)計(jì)做簡(jiǎn)單的介紹。
喜歡和適合使用PEAR者分類(lèi)如下:
◆ php愛(ài)好者,那一定要用PEAR,因?yàn)樗^對(duì)棒極了。
◆ PHP的專(zhuān)業(yè)程式設(shè)計(jì)員。您需要的是程式碼的安全性,可重復(fù)性,以及良好的工作效率,PEAR絕對(duì)是必備的。
◆ PHP的程式玩家,想要開(kāi)發(fā)更有趣的,功能更強(qiáng)的應(yīng)用程式,卻不想被撰寫(xiě)PHP程式的一些煩惱綁纏,PEAR絕對(duì)可以滿足您的要求。
◆ 自己撰寫(xiě)PHP程式,卻不喜歡每次都要從零開(kāi)始,一字一字地敲打程式碼,PEAR可以提高您的工作效率。
◆ 您想要學(xué)習(xí)功能性強(qiáng),安全性高的PHP,當(dāng)學(xué)會(huì)了PHP的基本語(yǔ)法后,可以試著使用PEAR。
◆ 您需要量身定造的PHP應(yīng)用程式,換言之,您不喜歡像XOOPS之類(lèi)的套裝應(yīng)用程式,來(lái)試試PEAR吧。
◆ 您需要容易維護(hù)的PHP應(yīng)用程式,不想日后常修改程式碼,或因?yàn)镻HP的改版而將整個(gè)程式重新設(shè)計(jì)。
◆ 您希望您的PHP程式可以物件導(dǎo)向化,方便程式的抽換與模組化。
◆ 您希望您的PHP功力更上一層樓,想要學(xué)習(xí)更多的PHP相關(guān)知識(shí),透過(guò)PEAR的使用或觀看PEAR的原始碼,不失為一個(gè)好的學(xué)習(xí)途徑。
PEAR就是專(zhuān)門(mén)為有以上這些需求的人所寫(xiě)的。
使用PEAR就像建一座房子一樣。它是讓您用預(yù)制件的方式,建一棟自己設(shè)計(jì)兼施工的大房子,但卻不需要自己攪拌水泥,自己準(zhǔn)備沙土、石頭,自己燒磁磚.自己做鋁門(mén)窗,自己做木工裝飾等等...。
PEAR就像是已經(jīng)針對(duì)您的需求所訂制好並準(zhǔn)備好的預(yù)制件,您只需要運(yùn)用創(chuàng)意將他們組合起來(lái)就可以了。
我門(mén)在使用PEAR來(lái)編寫(xiě)PHP程式時(shí),必需有一個(gè)先決條件,就是必需對(duì)PHP的相關(guān)知識(shí)有一定的認(rèn)識(shí)。
若您不知道甚麼是PHP,什麼是Apache、Mysql,或者您雖然知道,卻還不會(huì)PHP的基本語(yǔ)法,那麼,本文章目前並不適合您。建議您快去買(mǎi)些PHP、Apach、Mysql的入門(mén)書(shū)籍,詳加研讀后,才來(lái)看本文章。
大家並不一定要是PHP高手,但一定需要具備看懂基本PHP程序碼的能力。無(wú)論如何,首先對(duì)PHP的熱愛(ài)才是閱讀本書(shū)最基本的先決條件。
第二章
PHP有許多的規(guī)范與語(yǔ)法,我們不做介紹,請(qǐng)大家有空去閱讀有關(guān)PHP的書(shū)籍,我們重點(diǎn)介紹的是PHP發(fā)展到4.0版以后。加入了物件導(dǎo)向(Object-Oriented Programming Language)的功能,雖然還無(wú)法像了Java一樣做到完全的物件導(dǎo)向,但比起前版本PHP3.0已經(jīng)是一大進(jìn)步,也對(duì)PHP的程序開(kāi)發(fā)者提供了更強(qiáng)大與更方便的開(kāi)發(fā)能力。
PHP 5.0版以上的版本,已經(jīng)轉(zhuǎn)變成為徹底的物件導(dǎo)向化,提供了更多完全物件導(dǎo)向功能。我們所介紹的PEAR程式庫(kù)對(duì)PHP 4.3.0以上的版本是完全的支援。這一點(diǎn)請(qǐng)大家放心。
為了大多數(shù)人著想,也考慮到PHP向下的相容性,本書(shū)的內(nèi)容與范例都可以在PHP 4.3.0版以上的環(huán)境中執(zhí)行,因?yàn)镻EAR完全支援PHP 4.3.0以上的版本,小于PHP 4.3.0版的環(huán)境,PEAR大部分也是支援的,只有小部分不支援。
什么是PHP的物件導(dǎo)向? 物件導(dǎo)向的語(yǔ)法在傳統(tǒng)的PHP程式中較少看到,但若您了解JAVA這種程式語(yǔ)言的話,您應(yīng)該可以知道什麼足物件導(dǎo)向,我會(huì)在附錄B有針對(duì)物件導(dǎo)向做簡(jiǎn)單的說(shuō)明。
另外,我要強(qiáng)調(diào)的是:PHP除了基本語(yǔ)法外,內(nèi)建的函式就有超過(guò)上千個(gè),橫跨上百種類(lèi)別,包括文字類(lèi)函式、數(shù)字類(lèi)函式、資料庫(kù)類(lèi)、圖形類(lèi)等等,功能相當(dāng)強(qiáng)大,令人吒舌。但相對(duì)於程式開(kāi)發(fā)者,如何善用這些函式,配合PHP的語(yǔ)法撰寫(xiě)有效又好管理的程式碼,將會(huì)是一大挑戰(zhàn)。
在今天,有PEAR這個(gè)由全世界眾多頂尖的PHP高手所共同生產(chǎn)的智慧結(jié)晶,可以讓我們輕松又有效率地撰寫(xiě)程式碼,並克服許多撰寫(xiě)上的困難。以武俠界的例子來(lái)說(shuō),用PEAR撰寫(xiě)PHP就宛如數(shù)百位武林高手灌注他們的功力給程式開(kāi)發(fā)者。讓程式開(kāi)發(fā)者不用從最基本的練功,紮馬步練起,借用他們的功力就可以很輕松的讓功力倍增,效率倍增。
說(shuō)了半天,到底什麼是PEAR?下一個(gè)單元筆者就來(lái)做個(gè)介紹。
PEAR這個(gè)字單純就字面上而言意思是「梨子」。
一顆梨子。官方網(wǎng)站的網(wǎng)址為http://pear.php.net
PEAR官方網(wǎng)站的logo中可以看到例子。
PEAR的開(kāi)始是從1999年11月2l日。有一位名叫Stig S.Bakken的先生,這位仁兄發(fā)起了一個(gè)專(zhuān)案,並號(hào)召許多的PHP高手來(lái)共同投入,他首先為這個(gè)專(zhuān)案建立了一些程式碼的基礎(chǔ)規(guī)則,希望PHP的開(kāi)發(fā)者加入這個(gè)專(zhuān)案時(shí)所撰寫(xiě)的PHP程式碼都需要遵守這些規(guī)則。
這個(gè)專(zhuān)案名稱(chēng)就是PEAR,其實(shí)是PHP Extension and Application Repository的縮寫(xiě),意即「PHP的延續(xù)與應(yīng)用程式庫(kù)」,簡(jiǎn)單的說(shuō),PEAR其實(shí)是一個(gè)PHP的程式庫(kù)。
Bakken先生建立的程式碼基礎(chǔ)如下,我只概略說(shuō)明一下,並不詳談細(xì)節(jié)的部分:
◆ 如果開(kāi)發(fā)者要提供PHP程式庫(kù),程式的結(jié)構(gòu)必須物件化。
◆ 程式的縮排要遵循一定的格式
◆ 程式中類(lèi)別的命名也要遵循一定的格式
◆ 程式碼的註解要有一定的格式
◆ 檔案命名要有一定的格式
◆ 程式庫(kù)撰寫(xiě)完成后要包裝成套件,而套件的包裝與安裝方式,也有一定的格式。
該專(zhuān)案歡迎所有的PHP開(kāi)發(fā)者來(lái)共同開(kāi)發(fā)PHP程式庫(kù),只要他們?cè)敢庾袷厣鲜龅某淌酱a基礎(chǔ)規(guī)則。Bakken先生並組織了一組團(tuán)隊(duì)作為這個(gè)專(zhuān)案的控制主體,負(fù)責(zé)審核所有參與專(zhuān)案的開(kāi)發(fā)者所提供的程式庫(kù),若通過(guò)審核,就將程式庫(kù)分類(lèi)並放入官方網(wǎng)站中供其他開(kāi)發(fā)者下載使用,另外,這個(gè)團(tuán)體也負(fù)責(zé)維護(hù)官方網(wǎng)站的維護(hù)與更新。
有些人可能會(huì)很好奇,為什麼有人會(huì)愿意免費(fèi)撰寫(xiě)程式庫(kù)讓別人來(lái)使用呀? 這就是開(kāi)放原碼世界的精神一互助、共享。試想,若每個(gè)開(kāi)發(fā)者針對(duì)自己專(zhuān)精的部分開(kāi)發(fā)程式庫(kù)給其他人使用,同時(shí)也享用別的開(kāi)發(fā)者所釋出的程式庫(kù),是不是可以達(dá)到互助的目的,讓每一個(gè)開(kāi)發(fā)者共享所有的開(kāi)發(fā)者的成果.不必所有的程式碼都要自己撰寫(xiě)。
更棒的是,這些程式庫(kù)是免費(fèi)開(kāi)放給全世界的人使用的,不只參與程式庫(kù)開(kāi)發(fā)的開(kāi)發(fā)者可以享用(這種作法與Java或perl提供函式庫(kù)的作法是一樣的)。
因此,全世界所有的PHP開(kāi)發(fā)者可以省去許多撰寫(xiě)程式碼的時(shí)間,又因?yàn)槭褂贸淌綆?kù)的開(kāi)發(fā)者可以回報(bào)程式庫(kù)的缺失給原開(kāi)發(fā)者,原開(kāi)發(fā)者也因此會(huì)不斷的修正這些程式庫(kù),所以程式碼相對(duì)安全。另外,程式庫(kù)開(kāi)發(fā)者也會(huì)隨著時(shí)代演進(jìn),加入新的功能到程式庫(kù)中,讓程式庫(kù)的使用者可以與時(shí)俱進(jìn)。
詳細(xì)情況可參閱PEAR的官方網(wǎng)站中所提到關(guān)於開(kāi)發(fā)PEAR的目的說(shuō)明:http://pear.php.net/manual/en/about-pear.php。我建議您有時(shí)間慢慢地看吧,繼續(xù)將本文章看下去,您就會(huì)慢慢了解PEAR的神奇之處了。
我在文章的最后有一章附錄:PEAR官方網(wǎng)站的介紹,大家可以先參考一下。
如果您還不太了解我介紹所謂「程式庫(kù)」的意思,沒(méi)關(guān)系,下一節(jié)就會(huì)透過(guò)實(shí)際的例子加以說(shuō)明。
2-3 所有套件簡(jiǎn)介
▓ 程式庫(kù)VS套件
介紹所有套件之前,我們必須釐清兩個(gè)名詞,以免讀者混淆了,一個(gè)就是「程式庫(kù)」,另外一個(gè)就是「套件」。
假如我是是一個(gè)PHP的開(kāi)發(fā)者,發(fā)展了一個(gè)可以處理所有資料庫(kù)存取「程式庫(kù)」,並想將這個(gè)程式庫(kù)加入PEAR分享給全世界使用。當(dāng)我撰寫(xiě)完理資料庫(kù)的程式庫(kù)后,我必須按照PEAR的規(guī)定,將程式庫(kù)壓縮成一個(gè)「件」檔,放在PEAR官方網(wǎng)站供所有人下載,也由於遵循PEAR的規(guī)定來(lái)壓縮檔案,這個(gè)套件就可以用PEAR的套件管理指令來(lái)安裝或管理,這對(duì)PEAR使用者而言是相當(dāng)便利的,關(guān)於套件管理指令,我會(huì)在下一章做完整的說(shuō)明經(jīng)過(guò)上述的說(shuō)明,相信讀者應(yīng)該了解何謂「程式庫(kù)」、何謂「套件」?其實(shí),簡(jiǎn)單的說(shuō),把程式庫(kù)包裝好就變成了套件。
▓ 套件與分類(lèi)
PEAR截至目前為止釋出的套件已高達(dá)三百多個(gè),共分為35大類(lèi),而且不斷增加中。大家可以想像全世界的頂尖PHP開(kāi)發(fā)者的結(jié)合,是一股多大的團(tuán)結(jié)力量。下圖是官方網(wǎng)站中套件的分類(lèi):
PEAR因?yàn)獒尦龅奶准嗔耍瑸榱斯芾砩系姆奖闼砸捞准墓δ軐⑻准龇诸?lèi),同一類(lèi)的套件在效果上都有相關(guān)性,但提供的功能卻不盡相同小接下來(lái),我將所有的分類(lèi)用表格的方式做一個(gè)簡(jiǎn)單的介紹,讓大家多了解一下PEAR套件可以提供哪些功能。
這麼多的分類(lèi),每一類(lèi)都會(huì)依功能的不同發(fā)展出不同的套件。以第一個(gè)認(rèn)證類(lèi)為例,若您到官方網(wǎng)站去看,會(huì)發(fā)現(xiàn)目前該類(lèi)中共有8個(gè)套件
這8個(gè)套件都是與身份認(rèn)證有相關(guān)的套件,如果您想要網(wǎng)頁(yè)具有身份認(rèn)證功能,例如,可以讓網(wǎng)頁(yè)瀏覽者註冊(cè)、輸入帳號(hào)密碼、判別身份、給予權(quán)限等等。就會(huì)需要用到這些套件。
我再補(bǔ)充一點(diǎn):有些套件已發(fā)展成熟,開(kāi)發(fā)者會(huì)將它稱(chēng)為穩(wěn)定(stable)版,但若程式庫(kù)尚在發(fā)展中,但也已經(jīng)可以使用,開(kāi)發(fā)者將它釋出,通常會(huì)稱(chēng)為測(cè)試版(alpha or beta)版。官方網(wǎng)站也會(huì)記錄套件的開(kāi)發(fā)者與維護(hù)者的姓名,有時(shí)候一個(gè)套件是由許多人共同開(kāi)發(fā)而成的。
這些套件的訊息都可在PEAR的官方網(wǎng)站中找到,我在附錄〈PEAR官方網(wǎng)站的介紹〉會(huì)介紹如何使用PEAR官方網(wǎng)站。
2-4 使用PEAR程式庫(kù)的簡(jiǎn)單范例
在這一節(jié)中,我用l個(gè)簡(jiǎn)單的范例來(lái)說(shuō)明程式庫(kù)的使用。
假設(shè)您想要制作一個(gè)網(wǎng)頁(yè),並且希望知道網(wǎng)頁(yè)執(zhí)行時(shí)所耗用的時(shí)間,則可以借用PEAR所釋出的名為Benchmark的程式庫(kù)。這個(gè)程式庫(kù)開(kāi)發(fā)出來(lái)的目的就是用來(lái)計(jì)算網(wǎng)頁(yè)的執(zhí)行時(shí)間。
首先,先將Benchmark程式庫(kù)套件安裝好(安裝方法請(qǐng)參考下一章)。接著我們就可以開(kāi)始撰寫(xiě)網(wǎng)頁(yè)了,例如:我們建立了一個(gè)名為show.php的網(wǎng)頁(yè)。
基於說(shuō)明上的方便,我在每一行程式前面加上行號(hào),大家實(shí)際上撰寫(xiě)程式時(shí)是不用加上行號(hào)的。
第1行與第2行的程式碼首先引用Benchmark套件中的Timer.php網(wǎng)頁(yè),這個(gè)網(wǎng)頁(yè)內(nèi)含計(jì)算綱頁(yè)執(zhí)行時(shí)間的程式庫(kù)。include_once可以將某一個(gè)外部的網(wǎng)頁(yè)放到這個(gè)綱頁(yè)來(lái),我稱(chēng)這個(gè)動(dòng)作叫做「引用」, 本例相當(dāng)於執(zhí)行了Timer.php與show.php兩個(gè)網(wǎng)頁(yè)。
第3行,用new關(guān)鍵字建立一個(gè)Benchmark_Timer物件,並將該物件放入名為$timer的變數(shù)中。接著使用細(xì)$timer物件的start( )方法啟動(dòng)時(shí)鐘,然后加上我自己的程式碼,此例中是一行簡(jiǎn)單的程式。
接著就是要結(jié)束時(shí)鐘的計(jì)時(shí),計(jì)算網(wǎng)頁(yè)執(zhí)行所花費(fèi)的時(shí)間並將它顯示出來(lái)。第8行先用$timer物件的stop( )方法來(lái)停止時(shí)鐘,並用第9行$timer物件的timeElapsed( )方法計(jì)算時(shí)鐘從啟動(dòng)到停止中間的時(shí)間差,並將計(jì)算結(jié)果放入$totaltime變數(shù)中。
最后用echo函式顯示時(shí)間差在網(wǎng)頁(yè)上。
由結(jié)果可清楚看到show.php網(wǎng)頁(yè)從開(kāi)始執(zhí)行到執(zhí)行完畢總共花了0.00013613700866699秒,以后可以借由觀察這個(gè)數(shù)字來(lái)判斷系統(tǒng)效能,或做為程式碼改進(jìn)的參考。如何,執(zhí)行時(shí)間的計(jì)算是不是方便、快速又神奇呢!
如果您需要在其他網(wǎng)頁(yè)上也可以有計(jì)算網(wǎng)頁(yè)的執(zhí)行時(shí)間的功能,只要用上述方式套用在其他PHP網(wǎng)頁(yè)上就可以了。
事實(shí)上,其他套件的使用方式也跟這個(gè)套件的使用方式大同小異.差別只是在每個(gè)套件所提供的類(lèi)別、方法以及使用的參數(shù)各有不同而已。
套件雖然好用,但相信讀者還是有許多的疑惑? 例如:
1. Benchmark程式庫(kù)套件是怎麼來(lái)的?要有哪些前置工作才可以使用它?
2. 我是如何知道使用Benchmark套件的方法?
第1個(gè)問(wèn)題牽涉到如何安裝PEAR套件,以及安裝后套件的管理、升級(jí)、刪除等問(wèn)題,我會(huì)在第3章加以介紹。第2個(gè)問(wèn)題,筆者會(huì)在第4章針對(duì)如何使用套件、如何得到套件的資訊等做一個(gè)詳細(xì)的說(shuō)明。
2-5 為何要用PEAR
為何要使用PEAR? 我根據(jù)自己的心得,歸納出以下幾點(diǎn):
1. 省時(shí)省力:許多程式碼都被撰寫(xiě)在程式庫(kù)中,開(kāi)發(fā)者只需引用含程式庫(kù)的PHP檔,就可以擁有程式庫(kù)所提供的功能,省去自行撰寫(xiě)的時(shí)間與精力。
2. 安全:由於這些程式庫(kù)套件都將原始碼公開(kāi),使用者若發(fā)現(xiàn)bug,可以立即向套件的開(kāi)發(fā)者反映,開(kāi)發(fā)者通常也會(huì)立即加以修正,讓程式庫(kù)的錯(cuò)誤減到最小。
3. 容易維護(hù):自行撰寫(xiě)的程式碼與PEAR程式庫(kù)的程式碼分開(kāi),若PEAR套件因?yàn)橛行鹿δ鼙婚_(kāi)發(fā)或修正錯(cuò)誤而釋出新版本,只需更新套件即可,完全不會(huì)動(dòng)到自行撰寫(xiě)的程式碼。
4. 功能強(qiáng)大:PEAR套件所提供的功能非常之多,除了一般常用功能如:資料庫(kù)的連結(jié)、設(shè)定檔的處理、身份的認(rèn)證、以及表單的處理。另外,較為進(jìn)階的功能,例如像網(wǎng)路郵局、網(wǎng)路管理、動(dòng)態(tài)方式產(chǎn)生圖形、RSS、Wiki,或者像phpBB的BBCode解析等等都可簡(jiǎn)單做到。
5. 讓網(wǎng)頁(yè)的程式開(kāi)發(fā)與版面設(shè)計(jì)分開(kāi):PEAR提供許多樣板的程式庫(kù),可讓程式開(kāi)發(fā)與版面設(shè)計(jì)分開(kāi),方便於程式開(kāi)發(fā)者與網(wǎng)頁(yè)設(shè)計(jì)者分工合作。
6. 對(duì)學(xué)習(xí)PHP者是一套絕佳的學(xué)習(xí)范例:程式庫(kù)的註解說(shuō)明十分詳細(xì),程式碼的撰寫(xiě),具有一定的規(guī)則與格式,而且完全物質(zhì)化,讓開(kāi)發(fā)者容易看懂並學(xué)習(xí)。有些套件還內(nèi)附教學(xué)文件與范例擋,最重要的是:你不用花半毛錢(qián)就可得到,我們應(yīng)該感謝套件的作者們,他們?yōu)槲覀兏冻隽藷o(wú)私的貢獻(xiàn)。
2-6 為什么要建立PEAR社團(tuán)
是什麼原因促使全世界的PHP開(kāi)發(fā)者大團(tuán)結(jié),共同開(kāi)發(fā)出PEAR這個(gè)程式寶庫(kù)呢? 我就認(rèn)為有以下幾個(gè)原因:
1.遭受其他競(jìng)爭(zhēng)者的強(qiáng)大競(jìng)爭(zhēng):這一點(diǎn)第1章已經(jīng)說(shuō)明過(guò)了。
2.PHP的物質(zhì)化:從PHP4加入物質(zhì)導(dǎo)向的功能后,PHP5更是進(jìn)一步物質(zhì)化。除了要與ASP.NET、JSP一拼外,就是方便於程式的模組化,讓程式庫(kù)的開(kāi)發(fā)可以進(jìn)行,有了物質(zhì)化的功能,程式庫(kù)才可以與開(kāi)發(fā)者自行撰寫(xiě)的程式碼切割。
3.開(kāi)發(fā)者的共同需求:如果每一次開(kāi)發(fā)PHP程式,都要從無(wú)到有完全自己來(lái),雖然可以鍛鍊程式功力,但卻沒(méi)有效率,也不甚經(jīng)濟(jì)。若一些常用的功能可以用程式庫(kù)的方式來(lái)處理,將可以解決許多開(kāi)發(fā)者的困難?;哆@種所有開(kāi)發(fā)者都共同擁有的需求,讓這些PHP的開(kāi)發(fā)者分工合作,共同發(fā)展程式庫(kù),幫助自己也幫助別人。
2-7 PHP的競(jìng)爭(zhēng)者與優(yōu)缺點(diǎn)
PHP是在1994年發(fā)展出來(lái)的,經(jīng)過(guò)四次主要的改寫(xiě),成為我們今天所看到的可以廣泛應(yīng)用且成熟的產(chǎn)品。到2005年四月為止,PHP已經(jīng)運(yùn)用於全球超過(guò)1900萬(wàn)個(gè)網(wǎng)站上,而且這個(gè)數(shù)字還在持續(xù)快速成長(zhǎng)中。
PHP與他們的競(jìng)爭(zhēng)對(duì)手相比,他具有以下優(yōu)勢(shì):
高效能:不是我黃婆賣(mài)瓜,哈哈。.., 我閱覽過(guò)許多Asp.NET與Jsp的網(wǎng)頁(yè),效能上實(shí)在無(wú)法與PHP相比。(Asp.NET與Jsp的使用者應(yīng)該不會(huì)看這篇文章吧)。
● 可以與許多不同的資料庫(kù)系統(tǒng)相連結(jié):其他的競(jìng)爭(zhēng)者也可以,但沒(méi)有PHP快。
● 易學(xué)易用:PHP的程式碼的寫(xiě)法非常直覺(jué),容易學(xué)習(xí)。
● 支援物件導(dǎo)向:這方面Jsp是強(qiáng)項(xiàng),但PHP5已經(jīng)追上來(lái)了。
● 低成本:根本不用錢(qián)。
● 內(nèi)建非常多的函式庫(kù):記得筆者以前使用Asp,內(nèi)建的函式庫(kù)實(shí)在少的可憐。
● 開(kāi)放原始碼:安全性會(huì)比沒(méi)有開(kāi)放的高。
● PEAR程式庫(kù):這是最近的強(qiáng)力武器,用來(lái)與強(qiáng)敵們一爭(zhēng)長(zhǎng)短。
● 可攜性:無(wú)論是各類(lèi)Unix作業(yè)系統(tǒng),如:Linux,F(xiàn)reeBSD,商業(yè)版Unix或Windows作業(yè)系統(tǒng)都可以使用PHP。
Asp.NET與Jsp當(dāng)然也有他們獨(dú)特的優(yōu)點(diǎn)? 例如,Jsp夾帶JAVA強(qiáng)大的功能,它就可以呈現(xiàn)一些目前PHP無(wú)法做到的效果。所以Jsp也吸引了許多的使用者,但筆者對(duì)Jsp目前的效能實(shí)在還不甚滿意,相反地,對(duì)PHP的快速度滿意的不得了。
使用哪一種程式,就由您自行做明確的抉擇,不過(guò),若您選擇觀看文章,相信我們應(yīng)該都是同道中人,PHP的愛(ài)好者。
總而言之,許多PHP高手共同構(gòu)筑了一個(gè)強(qiáng)大的支援網(wǎng),若您是PHP的程式開(kāi)發(fā)者,卻對(duì)這些高手的好意毫不領(lǐng)情,那不是太可惜了嗎?

相關(guān)文章

最新評(píng)論