Zend Framework2工厂的服务与不同的配置

时间:2014-08-28 13:56:50

标签: php zend-framework zend-framework2

我正在使用Zend Framework2并创建了一项为我工作的服务。 此服务用于创建PDF文件,需要使用运行Apache FOP的主机名进行配置。

我编写了一个PdfServiceFactory(实现\ Zend \ ServiceManager \ FactoryInterface),它创建了一个PdfService实例并使用所需的主机名对其进行配置。

由于对此问题不重要的原因,我们需要多个这些服务,每个服务都配置了不同的主机名。 使用这些服务的代码不知道有超过1个。他们收到1个服务并只使用那个服务。

最好的方法是什么?

  • 我是否需要使用接口FactoryInterface?
  • 为此编写另一个Factory
  • 我可以在module.config.php中为每个将传递到工厂的条目设置参数吗?
  • 别的什么?

我熟悉Symfony2处理它的方式,在那里很容易实现。您可以简单地定义多个服务,并在每个服务中传递不同的参数。

在symfony中,它看起来像这样:

pdfservice.one:
    class: \Name\Space\PdfService
    arguments:
        - hostname.tld

pdfservice.two:
    class: \Name\Space\PdfService
    arguments:
        - anotherhostname.tld

但是如何在ZendFramework2中完成此任务而不创建大量工厂。

0 个答案:

没有答案