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