我正在尝试为我的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版本中的错误?
答案 0 :(得分:7)
我刚刚在路由定义的不一致界面中找到了解决方案:
如果您为控制器提供以下架构,它将起作用:
'controller' => 'User\Controller\Profile'
最好能够以与http路由相同的方式定义它:
'defaults' => array(
'__NAMESPACE__' => 'User\Controller',
'controller' => 'Profile',
'action' => 'setpassword',
),