コンテナ

何だか違和感が無くならない。
普通のコンテナを使ったことがないのにDIコンテナを使おうとしたからだろうか。


どうもグローバル変数的に乱用してる気がする。


これに最初に気付いたのは後からテストコードを書くときで、一つのクラスをテストするのに何個もクラスを呼び出さないとテストできない状態になっていた。
そして今、コンテナの名前を変更したんだけど、変更箇所が多いこと多いこと。

$container = & DIContainerFactory::getContainer();

って至る所に書いてある。
このDIっていうのが嫌なので取ることにしたんだけど、かなり大変だった。
これが変数なら初めに生成するところだけ書き換えれば済んだのに・・。


ということで、もう書き換えないと思うけどメンバ変数に入れることにした。
理想はコアの中でコンテナを使わないこと。
アクションから呼び出される可能性のあるものはコンテナに入れてもいいけど、コアでしか使わないクラスをコンポーネントとしてコンテナに入れる意味は無さそう。
明確に区別する意味があるかどうかはまだ分からない。