路由器不能在ZF 2beta5中工作

时间:2012-07-12 20:10:56

标签: zend-route zend-framework2 zend-router

  

可能重复:
  Zend Framework 2 MVC - Modules Route mapping not working

我的路由器正在beta4中工作,但还没有在beta5中工作。

需要的是url中的Locale。 选项是url中的命名空间/模块。

在module.config.php

return array(
        'router' => array(
            'routes' => array(
                'default' => array(
                    'type' => 'Zend\Mvc\Router\Http\Segment',
                    'options' => array(
                        'route' => '/[:locale[/:namespace[/:controller[/:action]]]]',
                        'constraints' => array(
                            'locale' => '[a-z]{2}_[A-Z]{2}',
                            'namespace' => '[a-zA-Z][a-zA-Z0-9_-]*',
                            'controller' => '[a-zA-Z][a-zA-Z0-9_-]*',
                            'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
                        ),
                        'defaults' => array(
                            'locale' => 'da_DK',
                            'namespace' => 'Application',
                            'controller' => 'index',
                            'action' => 'index',
                        ),
                    ),
                ),
            ), ),
        'controller' => array(
            'classes' => array(
                'index' => 'Application\Controller\IndexController'
            ),
        ), 
            ......
    )

1 个答案:

答案 0 :(得分:0)

他们做了一些改变,所以控制器部分不起作用。它已将名称更改为controllers(使用 s ),而不是类,现在应该是invokables

所以试试:

'controllers' => array(
            'invokables' => array(
                'index' => 'Application\Controller\IndexController'
            ),
), 

编辑:如果这解决了问题,我们实际上有一个类似的问题here