pear

pear

PHP擴展與應用庫
pear是一種擴展與應用庫的工具。全稱為PHP擴展與應用庫(PHP Extension and Application Repository)。為了創建一個類似于Perl CPAN檔案的工具,Stig S. Bakken在1999年創立了PEAR項目。
  • 中文名:pear
  • 英文名:PHP Extension and Application Repository
  • 全稱:PHP擴展與應用庫

簡介

為了創建一個類似于Perl CPAN檔案的工具,Stig S. Bakken創立了PEAR項目。PEAR的基本目标是發展成為PHP擴展和庫代碼的知識庫,而這個項目最有雄心的目标則是試圖定義一種标準,這種标準将幫助開發者編寫可移植、可重用的代碼。 Internet上已經有關于該項目的一些文檔。例如,一些初始的資料已經可以在PHP正式手冊中找到,更多的資料即将加入。 在很大程度上,PEAR還是一項正在進行之中的工作。在未來的幾個月内,PEAR安裝程序和PEAR網站将有很大的發展。為了在下一個PHP版本中使用PEAR管理數量日益增長的C擴展,以及用PEAR安裝程序作為用戶把擴展下載和安裝到PHP的前端工具,在PHP Core Developer郵件列表上已經有了大量的讨論。

代碼

另外,我們還必須關注PEAR的PHP庫代碼。PEAR的PHP庫代碼常常被認為是當前設計最好、最整潔的庫。PEAR::DB是其中最受歡迎的一個包,這個包是PEAR項目創建的一個數據庫 抽象庫。Bakken正在努力,要把它主要的類和函數 移植到C擴展上,使得這個包具有最好的性能。

毫無疑問,這個新的項目必将成為未來PHP最重要的組成部分之一,它使得開發者 能夠方便地通過PEAR網站共享代碼,使得用戶能夠方便地下載和安裝擴展、PHP代碼庫 。

使用

正如前面提到的,PEAR正在不斷地發展和改進。不過,現在已經有許多包可供使用。其中最受歡迎的一個包就是PEAR::DB,它使得開發者能夠編寫出可同時用于多種不同數據庫服務器的代碼 。例如,開發者能夠編寫出把數據庫記錄插入表的腳本,而且這個腳本 适用于MySQL、PostgreSQL和Oracle。

也就是說,下面這個實例能夠适用于所有不同類型的數據庫服務器 :

// 引入合适的PEAR類

require_once("DB.php");

$dsn = array(

''phptype'' => ''mysql'',

''hostspec'' => ''localhost'',

''database'' => ''test_db'',

''username'' => ''test_user'',

''password'' => ''test_password''

);

$DBh = DB::connect($dsn);

$stmt = "SELECT id, name FROM examples ORDER BY id";

$result = $dbh->simpleQuery($stmt, DB_FETCHMODE_ASSOC);

if ($dbh->numRows($result) > 0) {

$data = (object) $dbh->fetchRow($result, DB_FETCHMODE_ASSOC);

echo "id => $data->id

n";

echo "name => $data->name

n";

}

?>

這是一個簡單的例子,顯示了使用象PEAR::DB之類的抽象庫編程究竟是什麼樣子。

最近,PHP基本手冊中加入了一章新的内容。但是,究竟是由該手冊包含整個PEAR庫的說明,還是為各個PEAR包編制獨立的手冊,這一切尚未明了。

安裝

安裝PEAR實際上很簡單。由于PEAR庫更新很快,所以下面我要介紹的是如何安裝PEAR最新的CVS版本。

注意:PEAR内部知識庫系統将來可能要發生變化。就目前來說,PEAR包、庫與PHP本身一起保存到同一CVS樹,它可能導緻在管理PHP主知識庫和開發者、PEAR本身的知識庫和開發者這兩方面都出現問題。可以預料,在不遠的将來,PEAR将分離成為獨立的模塊/樹。這個模塊已經存在,但大部分的包仍舊在老位置。

如果你從來沒有聽說過CVS,請看看相關資料。CVS不是一種特别難用的技術,但熟悉它卻需要一定的時間。

假設你的機器上已經安裝好了标準的CVS客戶軟件,接下來你應該:

打開一個終端窗口(rxvt ,xterm,或其他)。

輸入下面的命令:

cvs -z3 -d :pserver:cvsread@cvs.php.net :/repository login

Password: 【在這裡輸入“phpfi”作為密碼】

cvs -z3 -d :pserver:cvsread@cvs.php.net :/repository co php4

【這個命令将創建新的目錄php4】

cd php4

cvs -z3 -d :pserver:cvsread@cvs.zend.com :/repository login

Password: 【這裡輸入密碼zend】

cvs -z3 -d :pserver:cvsread@cvs.zend.com :/repository co Zend TSRM

【該命令将在php4下面創建兩個新目錄,名字為“Zend”和“TSRM”】

./buildcon

這就是全部的安裝過程。運行buildconf将創建标準的configure腳本,這個腳本可以用來設置PHP選項。在默認安裝中,PEAR将自動安裝到/usr/local/lib/php下。但是,你也可以手工構造各個文件,方法是:以超級用戶身份進入,轉到php4/pear目錄,執行make install-su。

除此之外,你還應該把PEAR根目錄加入到php.ini文件的include_path。默認的目錄應該是/usr/local/lib/php,但如果你手工修改了選項,它可能在其他位置。

獲取幫助

PEAR的包涵蓋了從數據庫抽象層 到輸出緩沖系統的方方面面,因此PEAR遠遠不止是一個簡單的庫——它是一種編寫整潔、可移植代碼的新标準。對于PEAR新手來說,最重要的事情之一就是閱讀PHP手冊 中出版的編碼标準。下面是幾個獲得PEAR幫助信息的地方:

查找PEAR-DEV或PEAR-GENERAL,尋求問題的答案。

查閱随同PEAR源代碼提供的單元測試腳本。這些腳本的位置在PHP CVS源代碼所在目錄之下。例如,在我這裡,它是/home/jpm/php4/pear/DB/tests/。

通讀Tomas Cox優秀的PEAR::DB指南。

到目前為止,PEAR的真面目尚未完全顯露在世人眼前。但是,我希望本文已經成功地為你勾勒了它的大緻面貌。

好好享受吧!

相關詞條

相關搜索

其它詞條