当前位置: 首页 > 后端技术 > PHP

Yii2框架依赖注入容器、服务定位器

时间:2023-03-29 19:12:25 PHP

下面是Yii2源码中ServiceLocator(服务定位器)和Container(依赖注入容器)的关系分析图。一句话,Application继承了ServiceLocator,它是一个服务器定位器。ServiceLocator用于管理和缓存组件的实例化对象。ServiceLocator调用Yii::createObject方法创建类的实例化对象,Yii::createObject实际上调用Container(依赖注入容器)获取各个类的实例化对象。Container(依赖注入容器)自动解析待实例化类的依赖,并返回待实例化类的实例对象。