如何访问自定义文件的数据库

时间:2013-04-09 08:07:37

标签: zend-framework2

除了控制器,表单,模型和视图之外,我想创建一个包含一些常用功能类的文件。例如common.php

所以我需要为我的这个自定义文件制作其他连接文件,或者还有其他方法来使用zend数据库文件(config / local.php和config / global.php)

我应该在哪个文件夹下创建此文件。

1 个答案:

答案 0 :(得分:1)

错误的概念。使用包含常用功能的类创建YourNamespace\Stdlib - 库。然后,这些类将被注入所需的依赖项。例如:

getServiceConfig() {
    return array( 'factories' => array(
        'stdlib-dbstuff' => function ($sm) {
            $dbStuff = new \YourNamespace\Stdlib\DbStuff();
            $dbStuff->setAdapter($sm->get('Zend\Db\Adapter\Adapter'));
            return $dbStuff;
        }
    ));
}

有关示例,请参阅命名空间Zend\Stdlib下面的类;)

要使用Stdlib,只需从ServiceManager调用所需的课程即可。或者你可以跳过ServiceManager并简单地在Controller-Level上注入依赖项(这有点糟糕,这不是控制器的责任)。

$dbStuff = $this->getServiceLocator()->get('stdlib-dbstuff');
// alternatively
$adapter = $this->getServiceLocator()->get('Zend\Db\Adapter\Adapter');
$dbStuff = new \YourNamespace\Stdlib\DbStuff();
$dbStuff->setAdapter($adapter);