我的应用程序是 POPO 的集合,我正在尝试使用 Zend Framework 2 Service Manager 连接这些 POPO。
为了说明我的问题,举个例子:
$config = array(
'services' => array(
'my.app.serviceA' => new \My\App\Services\ServiceA(),
'my.app.serviceB' => new \My\App\Services\ServiceB(),
'my.app.manager.task' => new \My\App\Manager\TaskManager(),
),
);
我的 TaskManager 类看起来像这样:
class TaskManager {
protected $serviceA;
protected $serviceB;
public function setServiceA( \My\App\Service\ServiceA $serviceA )
{
$this->serviceA = $serviceA;
}
public function setServiceB( \My\App\Service\ServiceB $serviceB )
{
$this->serviceB = $serviceB;
}
}
如您所见,TaskManager
该类同时依赖于ServiceA
和ServiceB
。如何使用为和my.app.manager.task
定义的服务名称将这些服务注入到使用 Service Manager 配置中?ServiceA
ServiceB
更新:
我开始相信我根本不应该将 ServiceManager 组件用于我的目的,而应该使用 Zend DI 组件。
我的印象是 ServiceManager 是一个 ZF2“框架”组件,而 Zend\DI 似乎更像是一个通用的通用 DiC。因此,这可能是 ServiceManager 与 MVC 和 ModuleManager 组件(它们似乎也是“框架”组件)绑定关系的原因。
也许有人可以澄清一下?