はちゅにっき

こっちのブログはまったり更新

Singleton なクラスをかいてみたい

ということで、AppRegistry というクラスを書いてみました。
といっても、これまた Perl の Pixis から拝借しただけ。

Pixis -- Pixis-Registry
http://github.com/lestrrat/pixis/blob/master/lib/Pixis/Registry.pm

あと、作ってみて?作る前から?分かったけれど、PHP では static 変数、static 関数をサポートしているので、Perl みたいに Class::Singleton などといった仕掛けを用意する必要はまったくないので、もはや何のクラスを作ったのかすら分からないものに。。。
コンストラクタを private として宣言するのがポイントくらい?


とにかく、これで複数のクラスにまたがって、同じインスタンスを共有するための仕組みを作ることができました。
わーい?

そんなわけで、最近は PHP の変な小物クラスや、ORマッパもどきなんかを書いています。
そのうち DBIx::Skinny っぽい何かを書いてみたいなー。