Zend3中的控制台路由不匹配

mad*_*eye 5 php zend-framework zend-framework3

我的module.config.php文件中有一个控制台路由

'console' => [
        'router' => [
            'routes' => [
                'remove' => [
                    'type'    => 'simple',
                    'options' => [
                        'route'    => 'remove [force] [init]',
                        'defaults' => [
                            'controller' => Controller\CliController::class,
                            'action'     => 'remove',
                        ],
                    ],
                ]
            ]
        ]
    ]
Run Code Online (Sandbox Code Playgroud)

我的控制器有方法removeAction()

namespace Controller;

class CliController extends AbstractActionController
{
    public function removeAction()
    {
        $this->logger->debug('I am in');
    }
}
Run Code Online (Sandbox Code Playgroud)

当我做命令php public/index.php remove forcephp public/index.php remove 我永远不会被发送到控制器,没有错误或任何输出.那我在做错配对吗?

这就像app没有意识到它是从终端调用的.有时它只是返回,html如果我getConfigModule.php我的内部删除方法module/MyModulefolder.

mad*_*eye 9

问题是我没有包括在内'Zend\Mvc\Console',modules.config.php所以当它从控制台发出命令时它没有反应.

把它放入阵列后,modules.config.php一切正常.

菜鸟错了.

  • 在我的情况下,我必须先安装zend-console,并按照你的说法添加到module.config.php.要安装使用composer,需要zendframework/zend-mvc-console (3认同)