如何使用依赖注入容器延迟加载?

时间:2012-01-10 19:07:02

标签: php dependency-injection lazy-loading ioc-container

我是依赖注入容器之类的新手。

我有一个User对象,我想用容器构建。在我的情况下,用户可能有大量与他/她关联的评论对象,但我不会在每次请求时都需要它们。

之前,我会让User模型创建并加载Comment模型本身,但我意识到这是一个不好的做法。

如果我不想在构建用户时加载所有注释(例如 - 如果我想懒洋洋地加载注释),我如何使用DI和DIC实现此目的?

注意: 我知道有解决方案,但我不想使用它们,直到我了解它们是如何工作的。这是学习基础知识的理论问题,然后我很可能会转向已建立的框架。

1 个答案:

答案 0 :(得分:5)

我认为在模型中加载依赖项不是依赖注入容器的责任。这是ORM,数据访问对象或您的应用程序服务的工作。然后,DI容器负责配置和实例化ORM,DAO或服务类。