2016-09-06 2 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 force или php public/index.php remove Я никогда не получаю, чтобы отправлять контроллеру, и нет ошибки или какого-либо вывода. Так я делаю соответствующие ошибки?

Это похоже на то, что приложение не понимает, что оно было вызвано с терминала. Иногда он просто возвращает html, если я удалю getConfig метод от Module.php в пределах моего module/MyModulefolder.

ответ

5

Проблема была в том, что я не включил 'Zend\Mvc\Console' в modules.config.php, так что это никак не реагирует на то, когда ему была дана команда с консоли.

После помещения этого массива в modules.config.php все работает.

Rookie ошибка.

+1

В моем случае мне пришлось установить zend-консоль раньше и добавить в module.config.php, как вы сказали. Для установки используйте композитор zendframework/zend-mvc-console –