以下是Yii2源码中,ServiceLocator(服务定位器)与Container(依赖注入容器)的关系解析图。
一句话总结
Application继承了ServiceLocator,是一个服务器定位器,ServiceLocator用来管理和缓存组件的实例化对象。ServiceLocator调用Yii::createObject方法创建类得实例化对象,Yii::createObject实际上又调用了Container(依赖注入容器)获取每一个类的实例化对象。Container(依赖注入容器)自动解决待实例化类的依赖关系,并返回待实例化类的实例对象。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。