我有一个使用与Zend Framework 2
不同的应用程序结构的个人项目,但我们将该框架用作vendor
。
我想将Zend Service Manager
仍然用作对象的代理。有没有办法只用实例化Zend服务管理器而不用ZF2
作为对象加载工厂?
答案 0 :(得分:2)
Zend\ServiceManager
可以在有或没有Zend\ModuleManager
和Zend\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下载,而不是加载整个框架。