PEAR Group の仕事のひとつに、 PEAR のさまざまなトピックに関する管理文書を発行することがあります。 この章では、それらすべてを扱います。
The_Package_Name というパッケージがあり、 その中にはいくつかのサブクラス (例. The_Package_Name_Module) とドキュメント (README や RFC のコピーなど)、そしてテストスクリプト (単体テスト、回帰テストなど) やデータファイル (ローカライズ用文字列など) があるものとしましょう。 ディレクトリの構造は次のようになります。
The_Package_Name |-- Name (Module.php を含みます) |-- data |-- docs | `-- examples |-- misc |-- scripts `-- tests |
Name は The_Package_Name の最後の部分からとったもので、 すべてのサブクラスをこのディレクトリかそのサブディレクトリに配置しなければなりません。 http://cvs.php.net/cvs.php/pear/Cache_Lite/ のディレクトリ Lite が参考になるでしょう (これは、 基本的に現在私たちが行っていることをそのまま書いたものです)。
ディレクトリ data および misc はオプションです。PEAR のすべてのパッケージにこのディレクトリがあったとしても、 あまり意味がないからです。
必須となるディレクトリは docs/examples および tests です。 そのパッケージには追加のドキュメントがないかもしれませんが、 少なくともひとつはサンプルがなければなりません。 また、基本的なテストによって パッケージの動作確認ができるようになっていなければなりません。 テスト用スクリプトは、PHPUnit あるいは .phpt を用いることを推奨します。 しかし、現時点では、とりあえず何らかのテストがあればよいものとします。
scripts 内のファイルは、 $PATH の中のディレクトリ、たとえば /usr/local/bin にインストールされます。
いままでのいずれにも当てはまらないものは、 misc ディレクトリに配置します。
パッケージのメンテナは、 既存のパッケージをこの標準に従って変更していくようにしましょう。