明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

用Pear加速PHP程序開發(fā)

[摘要]及時交付應(yīng)用程序是確定解決方案采用何種技術(shù)的關(guān)鍵所在,PHP借助于PEAR(PHP Extension and Application Repository:PHP擴展與應(yīng)用庫)會大大促進其開發(fā)過程。PEAR是一種代碼庫,它為標準程序功能提供預(yù)先編寫的類,從而大大降低了應(yīng)用程序的開發(fā)時間。PEAR...
及時交付應(yīng)用程序是確定解決方案采用何種技術(shù)的關(guān)鍵所在,PHP借助于PEAR(PHP Extension and Application Repository:PHP擴展與應(yīng)用庫)會大大促進其開發(fā)過程。PEAR是一種代碼庫,它為標準程序功能提供預(yù)先編寫的類,從而大大降低了應(yīng)用程序的開發(fā)時間。PEAR在概念上類同于Perl的CPAN,PEAR包含了具有豐富特性的功能函數(shù),包括數(shù)據(jù)庫、郵件和錯誤處理等。在采用PEAR的情況下,開發(fā)人員就可以部署和增強已經(jīng)編寫的基本函數(shù)同時把注意力集中到編寫程序新功能這一方面上來。

PEAR基礎(chǔ)
創(chuàng)建PEAR的目的是為開發(fā)人員共享PHP代碼和促進代碼的重用提供一種標準化的方式。該項目始終處于開發(fā)的過程中,用戶可以提交自己編寫的代碼供加入PEAR庫使用,后者則同PHP捆綁。所有的PEAR包都在考慮到語法和可讀性的情況下嚴格遵守編碼規(guī)則,這些代碼由用C語言編寫的PHP或者PHP擴展所組成。

Stig Bakken于1999年晚些時候開始著手開發(fā)PEAR項目。他的目的是創(chuàng)建一個有組織的代碼庫,由這個代碼庫起到PHP開發(fā)人員團體的資源庫作用。該項目在過去的兩年里成長的非常快,目前已經(jīng)包含了相當多的、非常有用的可重用代碼。雖然其他的PHP代碼庫也不少,比如 Zend的Code Gallery和PHP Builder的Source Code Snippet Library等等都非常有名,但是,PEAR提供了一種便利函數(shù)之間互操作的標準。此外,提交給PEAR的代碼會接受嚴格的檢查,由這類標準和檢查措施保證代碼的質(zhì)量和可靠性。


有用的網(wǎng)站

PEAR網(wǎng)站
php.net
Concurrent Versions System
Zend




可用的功能
PEAR分成三類:PEAR核心組件、PEAR包和PECL包。核心組件(Core Component)包括PEAR和PEAR_Error的基類以及數(shù)據(jù)庫、HTTP、日志記錄和電子郵件函數(shù)等。PEAR包包括提供認證、聯(lián)網(wǎng)和文件系統(tǒng)特性的函數(shù)以及采用XML和HTML模版的工具等。PECL包是對PHP的擴展,它用C語言編寫,并不遵守編碼規(guī)則。目前,所有這一類的代碼都是實驗性的。要了解有關(guān)PEAR功能的更多信息請參考 PEAR在線手冊。

假如你有興趣給PEAR提交代碼,你可以加入PEAR開發(fā)者郵件列表并且請求大家檢查你的代碼,從而實現(xiàn)以上目的。不過,你得注意到已經(jīng)包括在庫內(nèi)的函數(shù)并且遵守PEAR的編碼規(guī)則。

從哪里獲取PEAR

PEAR捆綁在PHP發(fā)布包內(nèi),當你安裝PHP的時候也就同時安裝了PEAR。假如你打算獲得一個穩(wěn)定的版本,而且你可以在沒有最新PEAR版本的情況下也活得下去,那么你可以從php.net的下載網(wǎng)頁獲得最新的PHP版本。假如你喜愛冒險,希望采用最新版本的PEAR,你可以按照匿名CVS訪問的指示用CVS客戶程序下載它。

安裝了PHP之后PEAR資源就會被放置到~/php/PEAR/ 目錄下。你不妨把自己的php目錄位置增加到php.ini的include_path參數(shù)中來(比如:include_path = ".:/usr/local/lib/php";),這樣就可以使用PEAR功能了。

如何使用PEAR
現(xiàn)在所要做的無非是在用到函數(shù)和你編寫的其他類的地方采用require_once()。清單A中的例子使用了PEAR的電子郵件特性Sendmail。這部分代碼例示了PEAR庫內(nèi)的Mail.php文件,該文件是對PEAR.php類的擴展。

接下來,我們設(shè)置一些必要的變量,它們是$recipients、$headers和$body,這些變量是所有PEAR Mail函數(shù)和$params所需要的。你可以參在線PEAR手冊找出這些變量的設(shè)置方法。在PEAR代碼本身的注釋中也蘊涵了很多信息,不過一般而言,網(wǎng)站對你的幫助還是最大的。

最后,示例代碼會調(diào)用PEAR Mail類。首先,我們用~/php/Mail.php文件中的Mail::factory方法為郵件驅(qū)動程序包含適當?shù)念愇募,在我們所舉的例子里就是Sendmail(位于~/php/Mail/sendmail.php文件內(nèi))。接著,我們從PEAR Mail類里實際調(diào)用郵件發(fā)送函數(shù)。當我們對Mail類實例化的時候采用引用(=&)就可以通過引用名$mail_object引用該類了。

假如你想了解PEAR DB函數(shù)的用法,你不妨到 Quick Start Guide to Pear DB去看看,它是由Tomas V. V. Cox負責(zé)維護的。


為什么使用PEAR
如上所述,PEAR功能部署簡單,同時不需要額外的編程。雖然我們可以用PHP的固有函數(shù)達到同樣的結(jié)果,但是,部署PEAR模塊可以立即為我們帶來錯誤檢查等實際利益,同時還便利了程序的重用。

此外,越來越多的高級應(yīng)用程序也開始采用PEAR了,而PEAR的代碼庫也在不斷的增長之中。因為PEAR包含在PHP許可權(quán)之內(nèi),所以你可以免費使用或者修改你選擇的函數(shù)。還有,你再也不必反復(fù)編寫令人麻木的認證模塊了,這對開發(fā)人員來說可是一項具有相當吸引力的好處,而且你還可以享受到定制開發(fā)的莫大優(yōu)點。


好處多多
采用合格的預(yù)編寫、可重用代碼,你就可以顯著地加快應(yīng)用程序的開發(fā)周期而不必在技術(shù)選擇上過分地費腦筋了。PEAR是PHP團體為便利開發(fā)者而付出的努力所結(jié)出的碩果,它提供了實現(xiàn)優(yōu)秀應(yīng)用程序的一整套方法。采用PEAR代碼以及為其做出自己的貢獻不僅加快了項目交付時間,同時還可以在今天和未來開發(fā)出質(zhì)量更好的應(yīng)用程序。

TechRepublic是一個專為各類IT專業(yè)人士設(shè)立的在線社區(qū)以及資源中心,我們提供有深度的技術(shù)文章,這些文章由IT專家寫成,面對IT專家讀者。除了提供從Windows到e-mail到防火墻等各種文章以外,我們還提供IT業(yè)界分析,下載,管理要點,討論組以及新聞郵件服務(wù)。