我想在我的zf2项目中创建以下静态数据数组,以便可以根据部门代码完成路由和其他方法,然后在不同模块中查看助手和表单选择元素,查找用户界面的部门标题
$deptList = array(
'01' => 'Human Resources',
'02' => 'Sales',
'03' => 'Marketing',
'04' => 'Accounting',
// ...
);
在zf2目录结构中,我应该把它放在哪里?是否需要它自己的课程?
此外,将此数据记录在数据库表中而不是对其进行硬编码可能会很方便。但我怀疑这是否会影响性能。
答案 0 :(得分:1)
由于没有像ZF1中那样的注册表单例创建服务并在需要的地方注入它是合适的。然后,您可以根据文件系统中的自动装带器配置将其放置。在该类中,你可以做任何你喜欢的事情来构建数组,例如使用数据库。
然而,如果它是静态信息,您也可以使用您的配置 - 例如像这样:
Module.php
class Module
{
public function getConfig()
{
return include __DIR__ . '/config/module.config.php';
}
}
module.config.php
return [
'deptList' => [
'01' => 'Human Resources',
'02' => 'Sales',
'03' => 'Marketing',
'04' => 'Accounting',
// ...
],
];
MyController.php
class MyController extends \Zend\Mvc\Controller\AbstractActionController
{
public function myAction()
{
$config = $this->getServiceLocator()->get('config');
$deptList = $config['deptList'];
}
}