将子路由添加到 zend 框架模块控制器

Adding child routes to zend framework module controller

这是我的 cortana-resources 路线的配置:

            'cortana-resources' => array(
                'type' => 'Zend\Mvc\Router\Http\Literal',
                'options' => array(
                    'route'    => '/cortana/resources',
                    'defaults' => array(
                        'controller' => 'Cortana\Controller\Resources',
                        '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(
                            ),
                        ),
                    ),
                ),
            ),

整个系统使用cortana-resources路由来引用http://127.0.0.1/cortana/public/cortana/resources

我想在Cortana模块下的resources controller中添加一个add action。我该如何做到这一点?解析不正确。

根据您的评论,我建议您将路由配置更改为:

'cortana-resources' => array(
    'type' => 'Zend\Mvc\Router\Http\Segment',
    'options' => array(
        'route'    => '/cortana/resources[/:action]',
        'defaults' => array(
            'controller' => 'Cortana\Controller\Resources',
            'action'     => 'index',
        ),
    ),

除非您想在此路由下方添加其他控制器,否则没有真正的理由在此处使用子路由。