我的ZF2应用程序中有不同的模块,每个模块都包含一个控制器列表。现在在zf2中创建路由并使用服务定位器获取Entity Manager有所不同。现在在Zf3中,我们需要添加“别名”和“工厂”以使用那里的任何资源来为每个模块创建路由,即使在不同的模块中也无法为控制器添加相同的别名;
这是我的应用 / module.conf.php
'controllers' => [
'factories' => [
Controller\IndexController::class => ServiceLocatorControllerFactory::class,
Controller\UserController::class => ServiceLocatorControllerFactory::class,
],
'aliases' => [
'index' => IndexController::class,
'user' => UserController::class,
]
],
和我的仪表板/ module.config.php
"controllers" => [
'factories' => [
Controller\UserController::class => ServiceLocatorControllerFactory::class,
Controller\WidgetController::class => ServiceLocatorControllerFactory::class,
],
'aliases' => [
"user" => UserController::class,
"widget" => WidgetController::class,
]
],
现在,当我尝试访问 / application / user / index
它转到仪表板=> UserController => IndexAction
代替Application => UserController => IndexAction
我现在拥有的解决方案是为每个控制器手动创建路由,在我的情况下这确实很难,因为应用程序很大,控制器数量为100。另外,编写每条路线都是一项多余的任务。反正有解决问题的方法
答案 0 :(得分:0)
由于未找到不同模块中类似模块的答案,因此我为每个模块中的每个控制器创建了单独的路由。这就是我写的路线
Application-> IndexController
grp gname max.score length
group1 gene1 0.989003844 5
group2 gene1 0.988334014 3
group2 gene2 0.983461712 2
group3 gene3 0.982339339 4
我为应用程序中的每个控制器创建了一个
。