1つのコンソールコマンドを実行するたびにメソッドを実行したいのですが、ルーメン内のすべてのコンソールコマンドのリスナーを作成するにはどうすればいいですか?コンソールコマンドのリスナーを作成する方法
私は、このイベントは\Symfony\Component\Console\Application::doRunCommand
に解雇されていますが、イベントディスパッチャは、(メソッド上記のコメントを読んで添付されていない、ConsoleCommandEvent
のリスナーを作成することで試してみました: イベントディスパッチャは、アプリケーションに添付されている場合は、イベントがありますIlluminate\Console\Events\ArtisanStarting
が仕事をするために役立つかもしれないが、それは別のイベントです:。また、このイベントを使用して)
更新コマンドのライフサイクルの間に派遣しました。そうすることで、いつでもphp artisan
を実行すると、実際のコマンドを実行するかどうかに関係なく、コードが実行されます。
このイベントは既にうまくいきました。しかし問題は、それが言うように、職人が始まったときに解雇されるということです!だから、 'php artisan'を実行するときはいつでも' php artisan --help'を見たいと思ってもイベントを起動します。そこで、私はディスパッチャーをつける方法を見つけようとします。 btw、あなたの最後の解決策よりもはるかに良い:) –
@モハマド・メッディ・ハビビは、あなたがスムースを見つけたらここに書いてください。私はパラメータが 'php artisan'に送られて' --help'のようなオプションをチェックしないかどうかを確認する必要があると思います。 – mcklayin
実際にコマンドかどうかをチェックして問題を解決するかどうか、私たちがしなければそれほど素晴らしいことではありません。 –