如何使用额外参数解析 laravel 容器中的 class?
How to resolve a class in laravel container with extra arguments?
如何使用额外参数解析 laravel 容器中的 class?
无需任何注册即可完美运行:
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,但这不是重点..
是的,这正是您已经编写的第一个版本,但是您错过了必须与构造函数中的参数匹配的键:
$mc = app()->make('myClass',['x' => 10, 'y' => 20]);
如何使用额外参数解析 laravel 容器中的 class?
无需任何注册即可完美运行:
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,但这不是重点..
是的,这正是您已经编写的第一个版本,但是您错过了必须与构造函数中的参数匹配的键:
$mc = app()->make('myClass',['x' => 10, 'y' => 20]);