如何为控制台命令创建侦听器


How to create a listener for console commands

我想在每个控制台命令运行时运行一个方法,我如何在lumen中为所有控制台命令创建一个侦听器?

我试着为ConsoleCommandEvent创建一个监听器,这个事件在'Symfony'Component'Console'Application::doRunCommand中被触发,但是事件分派器没有被附加(阅读上面的方法的评论:如果事件分派器已附加到应用程序,则在命令的生命周期内也会分派事件。)

Update使用此事件:Illuminate'Console'Events'ArtisanStarting可能有助于完成这项工作,但这是一个不同的事件。通过这样做,无论您是否运行实际的命令,您的代码都将在运行php artisan时执行。

在Laravel中,你可以监听CommandStarting事件,这在illuminate/console中也是可用的。

如果您只需要在每个命令执行时执行某些方法,则可以侦听该类。

Illuminate'Console'Events'ArtisanStarting

但是我不知道如何在监听器中获取每个命令的名称