laravel依赖注入的类和App::make() 解析出来的类有什么区别(关于laravel 容器的灵魂4连问)
laravel依赖注入的类和App::make() 解析出来的类有什么区别
容器可以 吧类绑定为单利, 那么没有进过容器的绑定的类, 如果用它注入他会保持单列吗,
如果已经绑定到容器里面的类,再注入,就不会进过反射处理了吗,
还有这个App::make() 会在什么情况下用到是, 用不到注入的地方, 或者构造函数注入的太多,显得太长的时候用
laravel依赖注入的类和App::make() 解析出来的类有什么区别
容器可以 吧类绑定为单利, 那么没有进过容器的绑定的类, 如果用它注入他会保持单列吗,
如果已经绑定到容器里面的类,再注入,就不会进过反射处理了吗,
还有这个App::make() 会在什么情况下用到是, 用不到注入的地方, 或者构造函数注入的太多,显得太长的时候用
2 条评论
1、没有什么区别,本质上都是调用一个方法去解析的
2、只有通过 singleton 绑定的才是单例
3、绑定了再注入是啥意思,表述不清
4、你想用的时候就可以用
先绑定就是 我提前在一个服务提供者中写上
$this->app->singleton(UserFansRepository::class, function () { return new UserFansRepository(); }); 这一段我直接告诉他类的 地方了, 再注入的时候他是不是就不用再去反射解析了, 我今天做了个小测验, 写了几个类相互依赖, 没有提前到容器里面绑定, 不管是App::make()还是 注入 都能解析出来类并且调用方法成功, 那这个到服务提供者里面去绑定类的含义是什么, 是绑定一个值 然后根据需要返回不同实例吗