php - 依赖注入(inject)容器处理 PHP 网站的哪些部分?

标签 php design-patterns dependency-injection

在阅读了一万亿篇有关依赖注入(inject)容器的含糊教程后,我觉得我仍然没有完全理解要点。

当涉及特定于应用程序的事物(如模型、 Controller 等)时,我应该如何管理依赖项的自动注入(inject)?

我碰巧有一个大型网站,可能有 30-40 种不同类型的模型……我真的需要创建一个应用程序依赖管理器来处理这些不同类型的每一种吗?

有人告诉我,DIC 不是针对领域的东西,而是针对框架的东西,我也听到了相反的说法。

哪个是“正确的”?

奖励问题:

如果 DIC 不适用于领域层对象(如模型),您如何将依赖项传递给领域层对象?

最佳答案

也许不完全是您要找的东西,但这里是依赖注入(inject)容器 (DIC) 的示例用法

假设我有一个数据库类和一个缓存类。我需要能够在我的其他类(模型、 Controller 等)中访问我的数据库和缓存类。

在这种情况下 DIC 会派上用场,我可以简单地将我的数据库和缓存类存储在 DIC 类中,然后将该 DIC 类传递给需要访问它所拥有的对象的任何其他类

关于php - 依赖注入(inject)容器处理 PHP 网站的哪些部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9119219/

相关文章:

model-view-controller - 将客户端MVC/MVVM模式与MVC服务器端模式一起使用

Haskell:如何测试使用 wreq 的 Spock 应用程序?

android - 方形 Dagger 错误 : class is exclusively members injected/cannot be scoped required

php - 在 Symfony2 中动态导入资源到 Config.yml

php - 为什么我无法在 Laravel 5.2 中注册和登录?

php - 最小化 jQuery 函数

javascript - Javascript 中这两个函数声明有什么区别?

java - 使用Spring在工厂中获取具有相同接口(interface)的注入(inject)bean的最佳方法是什么?

javascript - 如何将事件处理程序添加到 jQuery 中动态创建的按钮?

php - 基于 XMPP 协议(protocol)的 Google Cloud Messaging(使用 PHP 和 XMPPHP 的服务器)。它是如何工作的?