2

我正在尝试为我的 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'
                    ),
                ),
            ),
        ),
    ),
),

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

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

4

1 回答 1

7

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

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

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

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

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

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

于 2012-09-02T13:37:51.243 回答