在zf3中为我的后端网站创建路由

时间:2017-06-23 09:03:02

标签: php zend-framework3

我有模块/ 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)

什么是问题??

2 个答案:

答案 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