我的 module.config.php 文件中有一个控制台路由
'console' => [
'router' => [
'routes' => [
'remove' => [
'type' => 'simple',
'options' => [
'route' => 'remove [force] [init]',
'defaults' => [
'controller' => Controller\CliController::class,
'action' => 'remove',
],
],
]
]
]
]
我的 Controller 有 removeAction() 方法
namespace Controller;
class CliController extends AbstractActionController
{
public function removeAction()
{
$this->logger->debug('I am in');
}
}
当我执行命令时 php public/index.php remove force
或 php public/index.php remove
我从来没有被派去做 Controller ,也没有错误或任何输出。那我匹配错了吗?
这就像应用没有意识到它是从终端调用的。有时它只返回 html
如果我删除 getConfig
方法来自 Module.php
在我的module/MyModulefolder
.
最佳答案
问题是我没有在 modules.config.php
中包含 'Zend\Mvc\Console'
所以当它被加载时它没有反应从控制台发出命令。
将其放入 modules.config.php
中的数组后,一切正常。
新手错误。
关于php - Zend3 中的控制台路由不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39342777/