在zend app中调用我模块中的另一个控制器

时间:2014-09-11 06:44:37

标签: php zend-framework routing routes

您好如何在我的模块中调用zend app中的另一个控制器? 我在zend框架的文档中找到了一些代码,但它没有用。

这是我目前的代码:

 array(
            'invokables'    => array(
                'Users\Controller\User'     => 'Users\Controller\UserController',
                'Users\Controller\Role'     => 'Users\Controller\RoleController',
            ),
        ),

        'router'    => array(
            'routes'    => array(
                'users'     => array(
                    'type'      => 'Segment',
                    'options'       => array(
                        'route'         => '/users[/][:action[/:id]]',
                        'constraints'   => array(
                            'controller'    => '[a-zA-Z][a-zA-Z-Z0-9_-]*',
                            'action'        => '[a-zA-Z][a-zA-Z-Z0-9_-]*',
                            'id'            => '[0-9]*',
                        ),
                        'defaults'  => array(
                            '__NAMESPACE__' => 'Users\Controller',
                            'controller'    => 'User',
                            'action'        => 'index',
                        ),
                    ),
                ),

                'roles' => array(
                    'type' => 'Segment',
                    'options' => array(
                        'route' => 'roles',
                        'defaults' => array(
                            'controller' => 'Users\Controller\RoleController',
                            'action' => 'index'
                        ),
                    ),
                ), 
            ),
        ),


        'view_manager'  => array(
            'template_path_stack' => array(
                'users' => __DIR__.'/../view',
            ),
        ),

    );
?>

用户控制器工作正常。但是当我试图访问 myApp / public / roles 时,它会返回404错误。我怎样才能解决这个问题?请帮忙,谢谢

1 个答案:

答案 0 :(得分:0)

            'roles' => array(
                'type' => 'Segment',
                'options' => array(
                    'route' => '/roles[/]',
                    'defaults' => array(
                        '__NAMESPACE__' => 'Users\Controller',
                        'controller' => 'Role',
                        'action' => 'index'
                    ),
                ),
            ),