2016-09-06 48 views
3

我有一个控制台路线我module.config.php文件在Zend3控制台路线不匹配

'console' => [ 
     'router' => [ 
      'routes' => [ 
       'remove' => [ 
        'type' => 'simple', 
        'options' => [ 
         'route' => 'remove [force] [init]', 
         'defaults' => [ 
          'controller' => Controller\CliController::class, 
          'action'  => 'remove', 
         ], 
        ], 
       ] 
      ] 
     ] 
    ] 

我的控制器,具有方法removeAction()

namespace Controller; 

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

当我命令php public/index.php remove forcephp public/index.php remove 我从来没有发送过去做控制器,没有错误或任何输出。那么我在做匹配错误?

这就像应用程序没有意识到它是从终端调用。有时候,如果我从我的module/MyModulefolder中的Module.php中删除getConfig方法,则返回html

回答

5

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

把这个放进modules.config.php的数组后,一切正常。

新人的错误。

+1

在我的情况下,我必须安装zend控制台之前,并添加到module.config.php,如你所说。安装使用作曲家需要zendframework/zend-mvc-控制台 –