使用带构造函数参数的Bucket DIC



我使用Bucket DIC进行注入和单元测试。在大多数情况下,这种类型的代码工作得很好:

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

但是我不知道如何在构造函数有参数的情况下使用DIC:

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

相同的DIC代码不起作用。
有没有其他的容器可以解决这个问题?

通过将工厂附加到容器,您可以控制调用控制器的参数:

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

最新更新