Zend Framework 2多个数据库

时间:2013-05-11 01:31:52

标签: zend-framework2

如何配置Zend Framework 2项目以使用多个数据库? 我已按照configure multiple databases in zf2

中的答案进行操作

我创建了自己的工厂作为MyProject / module / MyModuleName / src / MyModuleName / Classes / MyAdapterFactory.php。这是创建文件的正确途径吗?

我无法弄清楚我应该在哪里打电话: $适配器1 = $ serviceManager->获得( 'myadapter1'); $适配器2 = $ serviceManager->获得( 'myadapter2');

此外,我不能要求更多澄清,因为这个问题是“受保护的”而且我是一个菜鸟。

提前感谢您,请保存我的一天。

1 个答案:

答案 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;
}