我不想把它保存在配置文件中
return array(
'modules' => array(
'Application',
'ZfcUser',
'ZfcBase',
...
),
);
如何将模块列表从数据库加载到 zf2?
我不想把它保存在配置文件中
return array(
'modules' => array(
'Application',
'ZfcUser',
'ZfcBase',
...
),
);
如何将模块列表从数据库加载到 zf2?
最好的方法是:编写一个名为 YourModuleManager 的模块,让它用几个控制器管理模块,然后按照 sam 在上一个答案中所说的操作
你没有。如果您需要从管理面板管理模块,我认为最好的方法是将模块阵列移动到它自己的文件中,例如:
应用程序.config.php
<?php
return array(
'modules' => require_once __DIR__ . 'application.modules.php',
// rest of application.config.php
)
应用程序.modules.php
<?php
return array(
'Application',
'ZfcBase',
'ZfcUser',
// more...
);
然后,您可以使用此文件并向其编写管理前端。该文件显然是可写的。请记住,在模块初始化时,框架还不知道数据库。
示例:通过用户 id 查找,当 auth/login/etc 时。论教义
$moduleRepository = $em->getRepository("your module\Entity\your class, where get all name module etc.");
$module = $moduleRepository->findOneByUser($user->getId());
$moduleName = $module->getName();
global $modules;
$modules[] = $moduleName;
// ... // 并添加重新加载功能...