想实现的功能
利用容器的递归反射进行获取对象,解决依赖问题
相关类
Show类
class Show
{
public function show()
{
var_dump('show---show');
}
}
MyFilter类
class MyFilter
{
public function __construct(Show $show, $id)
{
var_dump('MyFilter---构造函数');
var_dump($id);
}
public function show()
{
var_dump('show');
}
}
控制器代码
获取MyFilter
$obj = Yii::$container->get(MyFilter::class, ['id' => 1]);
var_dump($obj->show());
但是会报错, id这个参数依赖没解决,该如何写?
laravel中app()这样是可以的
你少传了一个
show
参数呀, 这个必须要按照构造参数的顺序来传, 应该是这样的你的
MyFilter
定义了两个构造参数, 你要按照顺序去传, 可以少后面的,但是不能少前面的