0

私が取り組んでいるプロジェクトに使用するデザイン パターンに関してアドバイスが必要です。インスタンス化に依存性注入と IoC コンテナーを使用するクラスがたくさんあるとしましょう。これらのクラスの多くは、サーバーの場所に依存する memcached クラスや SQL ホストの詳細に依存する SQL クラスなど、「環境」設定に依存しますが、この依存関係をコーディングする方法がわかりません。

これらをクラスに書き込むことはできますが、柔軟ではありません。クラスでグローバル変数を利用するようにすると、それらが疎結合ではなくなり、単体テストが完了しにくくなると思います。そのため、疎なクラス結合を維持しながら、これらの設定を中央の場所から維持するにはどうすればよいでしょうか?

サーバーのセットアップが変更された場合に、各設定を変更するために 12 個の PHP スクリプトを掘り下げる必要はありません。

理想的には、私はしたいです:

  • 一元化された設定と構成
  • 外部エンティティに暗黙的に結合されていないクラス
  • まだユニットテストする能力!

乾杯!エイドリアン

4

3 に答える 3

0
class App {

    public function getConfig($conf_name){
        return new Config($conf_name);
    }
}

class Config {

    private $DB_host = '127.0.0.1';

    function __construct($conf_name){
        //return config
    }

}

class DB extends App {

    public function conn(){
        $this->getConfig('DB');
        //.......
    }
}
于 2013-05-06T08:55:23.660 に答える