Zend框架2的多个数据库(Zend Framework 2 multiple databases)

2019-09-02 14:13发布

如何配置Zend框架2项目有多个数据库? 我跟随在回答中ZF2配置多个数据库

我创建了自己的工厂为MyProject的/模块/ MyModuleName / src目录/ MyModuleName /班/ MyAdapterFactory.php。 这是创建该文件的正确道路?

我想不出我应该在哪里拨打:$适配器1 = $ serviceManager-> GET( 'myadapter1'); $适配器2 = $ serviceManager-> GET( 'myadapter2');

同时,我不能要求更多的澄清,因为这个问题是“保护”我就是一个小白。

谢谢你提前请保存我的一天。

Answer 1:

首先,较好的路径将是modules/$Module/src/$Module/Db/Adapter/MyAdapterFactory.php ,与一起选择namespace $Module\Db\Adapter (当然不是“$模块” ..;) )

的例子$serviceManager->get('myadapterX')仅仅是例子。 任何地方,你可以访问你可以调用这些适配器的ServiceManager。 在控制器上水平,你会做这样说:

$this->getServiceLocator()->get('myadapterX');

在配置级别定义TableGateway时还是这样的,它很可能是这个样子:

'my\Table\Gateway' => function ($sm) {
    $dbAdapter = $sm->get('myadapterX');
    $gateway   = new Gateway($dbAdapter);
    return $gateway;
}


文章来源: Zend Framework 2 multiple databases