Использование Bucket DIC с аргументами конструктора - PullRequest
1 голос
/ 28 декабря 2011

Я использую Ведро DIC для инъекций и модульных испытаний.В большинстве случаев этот тип кода работает нормально:

$model_obj = $dic->get('ThatModel')

Но я не могу понять, как использовать DIC в случае, когда конструктор имеет аргументы:

class OtherModel {
    function __construct($param1,$param2) {
    }
}

тот же код DIC не работает.
Существуют ли другие контейнеры, которые решают эту проблему?

1 Ответ

1 голос
/ 28 декабря 2011

Присоединяя фабрику к вашему контейнеру, вы можете контролировать, с какими аргументами вызывается контроллер:

$bucket = new bucket_Container(
  array(
    'OtherModel' => function($container) {
      return new OtherModel('first param', 'second param');
    }
  )
);

$model_obj = $bucket->get('OtherModel');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...