PEARと名前空間
PHP6から名前空間が導入されるということで、PEARの長ったらしい関数名クラス名がスッキリすることが期待される。PEAR使いには朗報だ。
しかし、but
ということでPHP5との互換性を考えると導入が難しいようだ。
ということなんですね。PHP5・6混在状況における「名前空間」って、PHP4・5混在環境でのimplementsとかprivate/protected/publicと同じってことか。。。使おうにも積極的に使えね〜。。。orz
でも、よく考えるとPEARの名前空間の切り分けは接頭辞やディレクトリ構造という形できちんと規則正しくできているので、機械的にnamespace対応させることは可能なきがする。
例えばこんな感じ
- PEARディレクトリを開く(pear/dbを例にする)
- *.phpファイルを見つけたら先頭にnamespace pear::db;import pear;を追加
- PEARぽい関数名/クラス名をすべてpear::*(フルネーム)に変更
- PEARのディレクトリ内すべてに再帰的に繰り返す
もちろんこれをすると呼び出すときには必ずnamespaceを使わなければならなくなるので、エイリアスを設けてやるのもいいかもしれない。