是否可以将Zend Service Manager与自定义代码库一起使用?

时间:2018-01-18 17:54:57

标签: php zend-framework zend-framework3 zend-servicemanager

我想在自定义代码库中使用Zend Service Manager。它不是构建在Zend MVC上,而是仅使用Zend Console和Zend Config等一些Zend包。

我想使用具有功能的Zend Service Manager,一旦代码进入我的Core类,我想初始化DB和Config对象并将它们保存为Zend Service Manager中的服务。现在我想在整个代码库中使用这项服务。

有没有办法在不通过每个类的构造函数中的服务管理器的情况下使用它?另外,我的其他类不会从这个Core类扩展而是这个Core类将根据我的要求创建对象。

这就是我创建服务的方式:

    $config = \Zend\Config\Factory::fromFiles([
        APPLICATION_PATH . '/config/config.ini',
        APPLICATION_PATH . '/config/' . $route->getMatchedParam('brand') . '/' . $route->getMatchedParam('department') . '/config.ini',
    ]);

    $serviceManager = new ServiceManager([
        'factories' => [
            stdClass::class => InvokableFactory::class,
        ],
    ]);

    $serviceManager->setService('config', $config);

1 个答案:

答案 0 :(得分:0)

是的,您可以在任何地方使用它。这是zf的最佳部分,您可以在任何地方使用它的部件。不,你不必在构造方法上传递配置。它有" setFactory"和" setService"方法和许多其他人。结帐documentation