ZendFramework 2 中的路由不起作用


routing in zendframework 2 is not working

/* Here is my module config */

'controllers' => array(
    'invokables' => array(
    'User'Controller'User' => 'User'Controller'UserController',
    ),
),
'router' => array(
    'routes' => array(
          'user' => array(
            'type' => 'Literal',
            'options' => array(
                'route'    => '/user',
                'defaults' => array(
                    'controller' => 'User'Controller'User',
                    'action'     => 'index',
                ),
            ),
            'may_terminate' => true,
            'child_routes' => array(
                'default' => array(
                    'type'    => 'Segment',
                    'options' => array(
                        'route'    => '/[:controller[/:action]]',
                        'constraints' => array(
                            'controller' => '[a-zA-Z][a-zA-Z0-9_-]*',
                            'action'     => '[a-zA-Z][a-zA-Z0-9_-]*',
                        ),
                        'defaults' => array(
                        ),
                    ),
                ),
            ),
        ),
    ),
),

和控制器作为

类 UserController 扩展 AbstractActionController{

public function indexAction(){
    parent::indexAction();
    return new ViewModel();
}
public function addAction(){
    return new ViewModel();
}

}

每当我尝试访问 zf.localhost/user/user/add

它抛出错误为

找不到页面。

请求的控制器无法映射到现有控制器类。

控制器: 用户(解析为无效的控制器类或别名:用户(

无例外

我无法弄清楚为什么路由不起作用。

您正在尝试访问不存在的名为 user 的控制器。您有两种选择:

  1. 'route' => '/[:controller][/:action]'更改为'route' => '/:action'。它将在您的用户''控制器''用户操作中搜索操作
  2. 添加到controllers新的别名'aliases' => array('user' => 'User'Controller'User')