对象管理器(ObjectManager)
概述
大型的应用程序,如Magento 2,使用对象管理器来管理对象的实例化。
在Magento 2 框架,实施 对象管理器(ObjectManager)接口
执行对象管理器的职责。
禁止直接使用Magento的 对象管理器(ObjectManager)
在代码中,因为它隐藏了类的真正依赖项。
查看 使用规则.
责任
对象管理器有以下职责:
- 工厂和代理中的对象创建。
- 通过请求时返回类的同一共享实例来实现单例模式。
- 通过实例化的类构造函数请求时首选的接口依赖管理。
- 自动实例化参数在类构造函数。
配置
di.xml
文件配置对象管理器并告诉它如何处理 依赖注入.
该文件指定对象管理器为类构造函数声明的接口生成的首选实现类。
该文件还指定对象管理器是否应为每个请求创建对象或将该对象视为单例。
使用规则
Magento 2 框架使用 对象管理器(ObjectManager)
生成和注入构造函数中声明的类。
类不应该要求 对象管理器(ObjectManager)
作为构造函数依赖。
您不直接调用对象管理器,因为框架自动处理此对象。 直接使用创建函数可以防止类型验证和类型提示 工厂 类提供.
对象创建也是一个单独的职责,应该被转移到一个专用类,如 工厂 或 代理。
相关话题
di.xml
文件- 依赖注入