PEAR::Log::factory() Factory Method
PEARの中で好んで使っているものにLogがあります。
ロギングの実装は面倒ですから。
ところで、このPEAR::Logは日本語のマニュアルが用意されていません。*1
http://pear.php.net/manual/ja/package.logging.log.php
ですので、何回かにわけてLogのことについていくつか書いておこうと思います。
オンラインドキュメントの順番に沿って、まずは Log::factory()から。
PHP5はimmutable不可能?
元々マニュアルで「PHP 5はオブジェクト指向言語ではありません。」と宣言しているのだから、仕方ないといえば仕方ないんですが。
- privateで宣言したメンバを守ってくれる。
- finalで宣言したクラスは拡張できない。
- privateコンストラクタ宣言可能
こういう実装なのにimmutableなクラスを作ることができない。
次のようなことをすると簡単にimmutableを破れたので開いた口がふさがらなくなってしまった。