Php 解释依赖注入

Php 解释依赖注入,php,design-patterns,dependency-injection,Php,Design Patterns,Dependency Injection,有人能帮我用“简单的话”来解释吗 什么时候应该使用依赖项注入 我为什么要用它?(我是否应该将其与MVC结合使用?) 用简单的语言表达什么?它是如何工作的 这就像创建一个回收代码/脚本的工厂一样吗 当我使用前端控制器时,它是如何交互的,我如何调用它(例如) 这些问题已经摆在桌面上了,但我在理解它们时仍然有一些问题。 所以我真的在寻找一个简单的解释 我目前以以下方式设置我的项目(虚拟) 我不知道如何精确地实现DI。基本上,通过使用依赖注入,您将摆脱静态依赖。例如,框架或w/E将为您处理依赖关系。其设

有人能帮我用“简单的话”来解释吗

  • 什么时候应该使用依赖项注入
  • 我为什么要用它?(我是否应该将其与MVC结合使用?)
  • 用简单的语言表达什么?它是如何工作的
  • 这就像创建一个回收代码/脚本的工厂一样吗
  • 当我使用前端控制器时,它是如何交互的,我如何调用它(例如)
  • 这些问题已经摆在桌面上了,但我在理解它们时仍然有一些问题。 所以我真的在寻找一个简单的解释

    我目前以以下方式设置我的项目(虚拟)
    我不知道如何精确地实现DI。

    基本上,通过使用依赖注入,您将摆脱静态依赖。例如,框架或w/E将为您处理依赖关系。其设计模式用于防止松耦合和类似问题

    有关更多详细信息,请尝试wiki

    问候 内蒂

    1何时应该使用依赖项注入

    当您想要控制类/方法在运行时将使用哪些依赖项时,应该使用依赖项注入。最好的例子是,您可能希望将访问数据库的依赖项替换为使用内存进行单元测试的依赖项

    2我为什么要用它

    它使您的代码更易测试、更灵活、更可扩展

    3.用简单的词语表达什么意思?它是如何工作的

    它通常通过将依赖项作为参数传递给方法或类的构造函数来工作

    4它是否像创建一个回收代码/脚本的工厂

    不,见1

    5当我使用前端控制器(例如)时,它如何交互以及如何调用它


    无论创建什么类或调用什么方法,都需要满足该类/方法的依赖关系。这可能很简单,比如“更新”一个对象,或者让一个IoC框架为您连接起来。

    -1:您混淆了“依赖项注入”和“依赖项注入容器”。1:当实体具有依赖项时;2:代码解耦;2,5:是的,你应该使用它;3:将实体与其依赖项解耦;3,5:运行良好;4:不,工厂也不回收代码;5:你不“调用”依赖注入,它是一种开发方法;