在 zf2 中放置数据数组的位置
Where to place a data array in zf2
我想在我的zf2项目中创建如下静态数据数组,这样就可以根据部门代码完成路由和其他方法,然后查看不同模块中的helpers和form select元素查找用户界面的部门标题。
$deptList = array(
'01' => 'Human Resources',
'02' => 'Sales',
'03' => 'Marketing',
'04' => 'Accounting',
// ...
);
在zf2目录结构中,我应该把这个放在哪里?是否需要它自己的 class?
此外,将此数据记录在数据库 table 中可能比 hard-coding 更方便。但我质疑这是否会影响性能。
因为没有像 ZF1 中那样创建服务并在需要的地方适当注入它的注册表单例。然后,您可以根据文件系统中的自动加载器配置放置它。同样在 class 里面,你可以做任何你喜欢的事情来构建数组,例如为此使用数据库。
不过,如果它是静态信息,您也可以使用您的配置 - 例如像这样:
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'];
}
}
我想在我的zf2项目中创建如下静态数据数组,这样就可以根据部门代码完成路由和其他方法,然后查看不同模块中的helpers和form select元素查找用户界面的部门标题。
$deptList = array(
'01' => 'Human Resources',
'02' => 'Sales',
'03' => 'Marketing',
'04' => 'Accounting',
// ...
);
在zf2目录结构中,我应该把这个放在哪里?是否需要它自己的 class?
此外,将此数据记录在数据库 table 中可能比 hard-coding 更方便。但我质疑这是否会影响性能。
因为没有像 ZF1 中那样创建服务并在需要的地方适当注入它的注册表单例。然后,您可以根据文件系统中的自动加载器配置放置它。同样在 class 里面,你可以做任何你喜欢的事情来构建数组,例如为此使用数据库。
不过,如果它是静态信息,您也可以使用您的配置 - 例如像这样:
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'];
}
}