我正在使用Zend Framework2并创建了一项为我工作的服务。 此服务用于创建PDF文件,需要使用运行Apache FOP的主机名进行配置。
我编写了一个PdfServiceFactory(实现\ Zend \ ServiceManager \ FactoryInterface),它创建了一个PdfService实例并使用所需的主机名对其进行配置。
由于对此问题不重要的原因,我们需要多个这些服务,每个服务都配置了不同的主机名。 使用这些服务的代码不知道有超过1个。他们收到1个服务并只使用那个服务。
最好的方法是什么?
我熟悉Symfony2处理它的方式,在那里很容易实现。您可以简单地定义多个服务,并在每个服务中传递不同的参数。
在symfony中,它看起来像这样:
pdfservice.one:
class: \Name\Space\PdfService
arguments:
- hostname.tld
pdfservice.two:
class: \Name\Space\PdfService
arguments:
- anotherhostname.tld
但是如何在ZendFramework2中完成此任务而不创建大量工厂。