PHP工厂模式依赖注入

PHP工厂模式依赖注入,php,dependency-injection,factory-pattern,Php,Dependency Injection,Factory Pattern,我一直在尝试了解工厂模式和依赖注入,我理解这两种模式背后的概念和基本原理,并且可能会有一点交叉。但在我开始编码之前,我只想检查我的流方法是否正确 我的预期流量将是 创建一个配置文件,其中包含我的“核心类”所需的所有属性,格式为 $config['core.classname']['property\u name']=$value 创建一个工厂类,该类将创建所有核心类的实例,并通过配置文件将属性注入到每个类中 当我的应用程序需要一个类的实例时,它会使用factory类克隆已注入依赖项的所需类 据我

我一直在尝试了解工厂模式和依赖注入,我理解这两种模式背后的概念和基本原理,并且可能会有一点交叉。但在我开始编码之前,我只想检查我的流方法是否正确

我的预期流量将是

  • 创建一个配置文件,其中包含我的“核心类”所需的所有属性,格式为 $config['core.classname']['property\u name']=$value

  • 创建一个工厂类,该类将创建所有核心类的实例,并通过配置文件将属性注入到每个类中

  • 当我的应用程序需要一个类的实例时,它会使用factory类克隆已注入依赖项的所需类


  • 据我所知,这将使我的核心类解耦,允许它们更容易地在我的代码中交换。

    你所说的“工厂”实际上更像是一个依赖注入容器。工厂通常只创建一种类型的对象

    一般来说,你应该避免创建任何核心实例,直到你的应用程序真正需要一个。您可能定义了100个核心类,其中任何给定的应用程序请求可能只需要几个

    在许多情况下,你的应用程序会希望共享同一个实例或核心类,因此自动克隆可能不是你想要的

    考虑阅读Symfony2框架包中的服务(您称之为核心)一章,了解以下想法: