【发布时间】:2014-05-01 13:25:35
【问题描述】:
我的 development.global.php 中有以下设置:
'service_manager' => array(
'factories' => array(
'Zend\Db\Adapter\Adapter'
=> 'Zend\Db\Adapter\AdapterServiceFactory',
'dbAdapter' => function($sm) {
$config = $sm->get('config');
$config = $config['db'];
$dbAdapter = new Zend\Db\Adapter\Adapter($config);
return $dbAdapter;
},
),
),
然后,我在 Module 的 Model 类之一的 onBootstrap() 中加载静态适配器:
$dbAdapter = $e->getApplication()->getServiceManager()->get('dbAdapter');
\Zend\Db\TableGateway\Feature\GlobalAdapterFeature::setStaticAdapter($dbAdapter);
有没有可能在 config autoloader 中只设置一次?目前,如果我这样做,我仍然需要在模块代码中的某处调用 setStaticLOader。
更新:如下所述,这是不可能的 - 至少按照标准方式。
【问题讨论】:
标签: zend-framework2 database-connection bootstrapping