Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Zend Framework 2控制台路由_Php_Console_Zend Framework2 - Fatal编程技术网

Php Zend Framework 2控制台路由

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

我正试图为我的ZF2应用程序定义一些控制台路由,如下所述

在模块配置中,我有:

'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',
),
刚刚就这个问题发表了一篇文章: