導入

PEAR 1.x は、PEAR インストーラ対応のコードを管理するという点で大きな成功を収めました。 新たなインストーラである Pyrus は、これをさらに拡張して PEAR アプリケーション以外も扱えるように設計されており、 単純に zip を展開してインストールするのと同様に動作します。 PEAR2 リポジトリは、PEAR リポジトリよりも幅広いコーディング規約に対応できるようになっています。 このドキュメントでは、here にある既存のルールやコーディング規約からの変更点をすべてとりあげます。 ここにあげた規約とこれまでの規約が矛盾する場合は、新しい標準規約のほうを優先します。 また、この規約は pear.php.net で管理している PEAR パッケージには何の影響も及ぼしません。 あくまでも pear2.php.net で管理することになる PEAR2 パッケージに対してのみ有効となります。

require_once を使用するとパッケージの構造についての制約が多くなり、 PEAR パッケージの可能性を制限してしまいます。たとえば以下のような問題があります。

require_once には、利点もあります。

require_once をなくしてしまうと、その代わりに依存ファイル (パッケージ内のファイルあるいは外部のファイル) を読み込む仕組みが必要になります。 ここでは、ふたつの方法を紹介します。

いずれにせよ、必要なファイル群を読み込むのはエンドユーザ側の仕事となります。 しかし、初心者向けには、PEAR2/Autoload.php を読み込みさえすればすべてうまくいくようになっています。 このファイルは新規パッケージには常にバンドルされていますが、 zip を展開してそのまま使用する形式の場合にのみ展開されます (pyrus は、点順に PEAR2 上の依存ファイルをインストールします。 この中には、必要となるベースファイル PEAR2_Exception および PEAR2_Autoload が含まれます)。

<?php
  
require '/full/path/to/PEAR2/Autoload.php';
  
// これで、PEAR2 のすべてのパッケージが使えるようになります
?>

PEAR2/Autoload.php は、include_path が正しい値に設定されていない場合に自動的に設定し、 ユーザが定義していなければ自動的に __autoload() を宣言します。