如何配置Zend Framework 2项目以使用多个数据库? 我已按照configure multiple databases in zf2
中的答案进行操作我创建了自己的工厂作为MyProject / module / MyModuleName / src / MyModuleName / Classes / MyAdapterFactory.php。这是创建文件的正确途径吗?
我无法弄清楚我应该在哪里打电话: $适配器1 = $ serviceManager->获得( 'myadapter1'); $适配器2 = $ serviceManager->获得( 'myadapter2');
此外,我不能要求更多澄清,因为这个问题是“受保护的”而且我是一个菜鸟。
提前感谢您,请保存我的一天。
答案 0 :(得分:2)
首先,更好的路径是modules/$Module/src/$Module/Db/Adapter/MyAdapterFactory.php
,与namespace $Module\Db\Adapter
一起(当然不是“$ Module”..))
$serviceManager->get('myadapterX')
的例子仅仅是示例。无论您有权访问ServiceManager,都可以调用这些适配器。在控制器级别,您可以这样做:
$this->getServiceLocator()->get('myadapterX');
在定义TableGateway等配置级别时,它可能看起来像这样:
'my\Table\Gateway' => function ($sm) {
$dbAdapter = $sm->get('myadapterX');
$gateway = new Gateway($dbAdapter);
return $gateway;
}