如何用额外的参数解决laravel容器中的类?

时间:2016-10-28 05:17:41

标签: php laravel-5.2 containers ioc-container

如何使用额外的参数解决laravel容器中的类?

这很完美,没有任何注册:

class myClass
{
    public function __construct(Interf1 $i1, Interf2 $i2)
    {
        //some stuff
    }
}
$mc = app()->make('myClass');

如果你需要这样的话会发生什么:

class myClass
{
    public function __construct(Interf1 $i1, Interf2 $i2, $x, $y)
    {
        //some stuff
    }
}

是否有类似的选项:

  

$ mc = app() - > make(' myClass',[10,20]);

  

$ mc = app() - > make(' myClass') - > with(10,20);

我知道我可以使用setter,但那不是重点..

1 个答案:

答案 0 :(得分:0)

是的,它正是您已编写的第一个版本,但是您错过了必须与构造函数中的参数匹配的键:

$mc = app()->make('myClass',['x' => 10, 'y' => 20]);