1999/11/21 に産声をあげた Malin Bakken に捧ぐ。
PEAR は、 "PHP Extension and Application Repository" を省略したもので、 果物の梨と同じように(「ペア」と)発音します。PEAR の目的は、次のものを提供することにあります。
PHP ユーザを対象とする、オープンソースなコードの構造化されたライブラリ
コード配布およびパッケージ管理のためのシステム
PHP のコード作成に関する標準スタイル ( こちらを参照 )
PHP 拡張モジュール・コミュニティライブラリ (PHP Extension Community Library: PECL) ( 詳細はこちらを参照 )
PHP/PEAR コミュニティをサポートするための Web サイト、 メーリングリスト、ダウンロードミラー
PEAR は、コミュニティーにより運営されるプロジェクトです。 PEAR でソフトウェアを公開している開発者によって取りまとめられています。 PEAR の管理体制は、 PEAR Group 、 Collectives および President で構成されています。この体制については、 PEAR の規約 (2007 年 3 月に採用されたもの) に記されています。 こちら を参照ください。 PEAR プロジェクトは 1999 年に Stig S. Bakken によって創設され、これまでに たくさんの方々 が参加しています。
PEAR に含まれるコードは、「パッケージ」に分けられています。 各パッケージは、個有の開発チームを有する個別のプロジェクトで、 バージョン番号・開発サイクル・ドキュメント・他のパッケージとの関連 (依存性等)などは、それぞれ異なります。 各パッケージは、説明用のファイルを含め、gzip 圧縮された tar アーカイブ として配布されており、 PEAR インストーラ を用いてローカルシステムにインストールします。
パッケージによっては、他のパッケージに依存性があり、そのことが明示的に示されているものもあります。 しかし、その依存関係はパッケージ名によって決まるというわけではありません。 たとえば、 "HTTP_Post" は、通常、 "HTTP" とは独立です。 同じようなパッケージ名によって依存性を表すことが禁じられているわけではないので、 そのようになっている場合もあります。たとえば、 "DB_DataObject" パッケージは "DB" パッケージに依存しています。
さらに、スタイルガイド、すなわち PEAR 標準コーディング規約 (PEAR Coding Standards: PCS) が作成されています。 この規約により、複数の PEAR 開発者による共同開発が容易になり、品質が安定します。 また、PEAR パッケージとして配布されるソースコードの見た目が一貫したものになります。
PEAR パッケージはすべて pear.php.net のサーバに登録され、そこからダウンロードします。 "チャネル" と呼ばれるその他サードパーティのサーバでもパッケージを配布しており、 これも PEAR インストーラでインストールすることができます。詳細は チャネル一覧 を参照ください。 pear.php.net はこれらのチャネルで配布されているパッケージについては一切保証しません。 pear.php.net で配布しているパッケージについてのみサポートしています。
pear.php.net は、ヒューマンフレンドリ (HTML) な形式、およびマシンフレンドリ (現在は、 REST ) な形式の双方で、PEAR データベースへのインターフェイスを提供しています。 すべてのやりとりは HTTP プロトコルで行われます。 pear.php.net サイトが提供するその他の機能には、以下のものがあります。
ユーザアカウント管理 (CVS サーバとは独立しています)
パッケージ管理
リリース管理
パッケージは、gzip 圧縮された tar ファイルで配布されます。 XML で書かれた定義ファイルが含まれていますが、この定義ファイル ( package.xml ) にはパッケージ、ファイルのリストと役割、依存性といった情報が記述されています。
PECL( "pickle" 《ピクル》と読みます)は PEAR とは独立したプロジェクトで、 PHP 拡張モジュール (C で書かれたコードをコンパイルしたもの、たとえば PDO など) を配布しています。 PECL 拡張モジュールもパッケージとして配布されており、PEAR インストーラの pecl コマンドでインストールできます。
詳細な情報およびすべての PECL パッケージの一覧は PECL のホームページ にあります。