2016-09-06 1 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 コントローラを送信することはありません。エラーも出力もありません。だから私は間違ってマッチングをやっている?

端末から呼び出されたことをアプリが認識していないようです。場合によっては、メソッドをModule.phpから私のmodule/MyModulefolderに削除すると、htmlが返されることがあります。

答えて

5

問題は、私が'Zend\Mvc\Console'modules.config.phpに含めなかったため、コンソールからコマンドが与えられたときに反応しないということでした。

modules.config.phpに配列を入れた後は、すべて動作しています。

ルーキーミス。

+1

私の場合は、前もってzend-consoleをインストールして、あなたが言ったようにmodule.config.phpに追加する必要がありました。 use composerをインストールするには、zendframework/zend-mvc-consoleが必要です。 –