Php Zend Framework 2控制台路由
我正试图为我的ZF2应用程序定义一些控制台路由,如下所述 在模块配置中,我有:Php Zend Framework 2控制台路由,php,console,zend-framework2,Php,Console,Zend Framework2,我正试图为我的ZF2应用程序定义一些控制台路由,如下所述 在模块配置中,我有: 'console' => array( 'router' => array( 'routes' => array( 'user-set-password' => array( 'options' => array( 'route' => 'user passwor
'console' => array(
'router' => array(
'routes' => array(
'user-set-password' => array(
'options' => array(
'route' => 'user password <username> <password>',
'defaults' => array(
'controller' => 'User\Profile',
'action' => 'setpassword'
),
),
),
),
),
),
“控制台”=>阵列(
“路由器”=>阵列(
“路由”=>数组(
“用户设置密码”=>数组(
“选项”=>数组(
“路由”=>“用户密码”,
“默认值”=>数组(
“控制器”=>“用户\配置文件”,
“操作”=>“设置密码”
),
),
),
),
),
),
但它似乎永远不会匹配路径,因为它总是打印使用信息。同样,像“测试”这样的简单路线也不会匹配。
(当我在route参数中写入一些垃圾时,执行失败,出现Zend\Mvc\Router\Exception\InvalidArgumentException
,因此在加载模块时它会识别控制台路由)
是我的错还是最新zf2版本中的错误?我刚刚在路由定义的不一致界面中找到了解决方案: 如果您为控制器提供以下架构,则它将起作用:
'controller' => 'User\Controller\Profile'
最好能够以与http路由相同的方式定义它:
'defaults' => array(
'__NAMESPACE__' => 'User\Controller',
'controller' => 'Profile',
'action' => 'setpassword',
),
刚刚就这个问题发表了一篇文章: