ディレクトリ構造による依存性注入
PHPの場合は、「DIコンテナと設定ファイル」じゃなくて「include_pathとディレクトリ構造」による依存性の構築がやりやすいんじゃなかろうか。
そうするとコンテナが要らなくなる。
もちろん初期化メソッドの実行などにコンテナは必要だが、コアには必要ないだろう。
コンストラクタ引数もインジェクションせずに普通に渡した方が見通しが良い。
フレームワーク利用者の視点だとコンテナがあった方がいいけれど、フレームワークのコアはコンテナを使う必要がない。
コアを変更したければmaple方式をとればいいのだ。
という考えに基づいて全面的に書き換えようかと思っている。
コア以外のコンポーネントにしても、include_pathを変更しながらディレクトリ構造で依存性を解決していく方式で作れないかな。
include_pathをスタックで管理して動的に変更しながらファイルを読み込む・・・余計に複雑になるだろうか?何らかの規則があれば単純化できるかもしれない。