1

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

所以我是否需要为我的这个自定义文件创建其他连接文件,或者有任何其他方式来使用 zend 数据库文件(config/local.php 和 config/global.php)

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

4

1 回答 1

1

错误的概念。YourNamespace\Stdlib使用包含通用功能的类创建一个-Library。然后这些类将被注入他们需要的依赖项。例如:

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);
于 2013-04-09T08:21:47.693 回答