有没有办法将Zend Service Manager用作隔离组件,而不是包装在ZF2应用程序中

时间:2015-12-02 19:58:33

标签: php zend-framework zend-framework2

我有一个使用与Zend Framework 2不同的应用程序结构的个人项目,但我们将该框架用作vendor

我想将Zend Service Manager仍然用作对象的代理。有没有办法只用实例化Zend服务管理器而不用ZF2作为对象加载工厂?

1 个答案:

答案 0 :(得分:2)

Zend\ServiceManager可以在有或没有Zend\ModuleManagerZend\Mvc的情况下有效利用,并且应用程序结构通常与它们相关联。但是,服务管理器仍然需要Zend\ServiceManager\Config的实例或ConfigInterface的实现,用于定义工厂,服务,别名等。

<?php
$configArray = [
    'invokables' => [
        /* invokables */
    ],
    'factories' => [
        /* factories */
    ],
];
$config = new \Zend\ServiceManager\Config($configArray);
$serviceManager = new \Zend\ServiceManager\ServiceManager($config);

此外,zendframework/zend-servicemanager包可以通过Composer加载,也可以直接在https://github.com/zendframework/zend-servicemanager下载,而不是加载整个框架。