Zend Framework 2控制台路由

时间:2012-09-02 12:41:28

标签: php console zend-framework2

我正在尝试为我的ZF2应用程序定义一些控制台路由,如此处所述http://packages.zendframework.com/docs/latest/manual/en/modules/zend.console.routes.html

在模块配置中我有:

'console' => array(
    'router' => array(
        'routes' => array(
            'user-set-password' => array(
                'options' => array(
                    'route' => 'user password <username> <password>',
                    'defaults' => array(
                        'controller' => 'User\Profile',
                        'action' => 'setpassword'
                    ),
                ),
            ),
        ),
    ),
),

但似乎永远不会匹配路线,因为它始终打印使用信息。还有像'test'这样的简单路线也不会匹配。 (当我在路由参数中写入一些废话时,执行失败并带有Zend\Mvc\Router\Exception\InvalidArgumentException,因此它在加载模块时识别控制台路径)

是我的错还是最新的zf2版本中的错误?

1 个答案:

答案 0 :(得分:7)

我刚刚在路由定义的不一致界面中找到了解决方案:

如果您为控制器提供以下架构,它将起作用:

'controller' => 'User\Controller\Profile'

最好能够以与http路由相同的方式定义它:

'defaults' => array(
    '__NAMESPACE__' => 'User\Controller',
    'controller' => 'Profile',
    'action' => 'setpassword',
),

刚刚为此开了一个问题:http://framework.zend.com/issues/browse/ZF2-515