我有模块/ config / module.config.php:
'router' => [
'routes' => [
'home-backend' => [
'type' => Literal::class,
'options' => [
'route' => '/backend',
'defaults' => [
'controller' => Controller\IndexController::class,
'action' => 'index',
],
],
],
'backend' => [
'type' => Segment::class,
'options' => [
'route' => '/backend[/:controller[/:action]]',
'defaults' => [
'controller' => Controller\IndexController::class,
'action' => 'index',
],
],
'may_terminate' => true,
'child_routes' => [
'wildcard' => [
'type' => 'Wildcard'
]
]
],
],
],
我打电话时:http://mysite/backend/index/index 错误: 网页未找到。 请求的控制器无法映射到现有的控制器类。
控制器: index(解析为无效的控制器类或别名:index)
什么是问题??
答案 0 :(得分:0)
似乎您错过了controller
的配置。请将控制器的配置添加到module/config/module.config.php
。
如果您使用factory
,配置将如下所示。
'controllers' => [
'factories' => [
Controller\IndexController::class => Controller\IndexControllerFactory::class,
]
],
如果您不使用factory
,配置将如下
use Zend\ServiceManager\Factory\InvokableFactory;
return [
'controllers' => [
'factories' => [
Controller\IndexController::class => InvokableFactory::class,
]
],
]
答案 1 :(得分:0)
指出你不应该两次使用相同的路线模式。在这里,我看到/backend
使用了两次。否则backend
路由的路由模式格式不正确。
希望你能理解the better way here!