除了控制器,表单,模型和视图之外,我想创建一个包含一些常用功能类的文件。例如common.php
所以我需要为我的这个自定义文件制作其他连接文件,或者还有其他方法来使用zend数据库文件(config / local.php和config / global.php)
我应该在哪个文件夹下创建此文件。
答案 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);