在zf2中放置数据数组的位置

时间:2015-05-04 20:55:18

标签: zend-framework2

我想在我的zf2项目中创建以下静态数据数组,以便可以根据部门代码完成路由和其他方法,然后在不同模块中查看助手和表单选择元素,查找用户界面的部门标题

    $deptList = array(
        '01'  => 'Human Resources',
        '02'  => 'Sales',
        '03'  => 'Marketing',
        '04'  => 'Accounting',  
           // ...           
    );

在zf2目录结构中,我应该把它放在哪里?是否需要它自己的课程?

此外,将此数据记录在数据库表中而不是对其进行硬编码可能会很方便。但我怀疑这是否会影响性能。

1 个答案:

答案 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'];
    }

}