我想在每个控制台命令运行时运行一个方法,我如何在lumen中为所有控制台命令创建一个侦听器?
我试着为ConsoleCommandEvent
创建一个监听器,这个事件在'Symfony'Component'Console'Application::doRunCommand
中被触发,但是事件分派器没有被附加(阅读上面的方法的评论:如果事件分派器已附加到应用程序,则在命令的生命周期内也会分派事件。)
Update使用此事件:Illuminate'Console'Events'ArtisanStarting
可能有助于完成这项工作,但这是一个不同的事件。通过这样做,无论您是否运行实际的命令,您的代码都将在运行php artisan
时执行。
在Laravel中,你可以监听CommandStarting
事件,这在illuminate/console
中也是可用的。
如果您只需要在每个命令执行时执行某些方法,则可以侦听该类。
Illuminate'Console'Events'ArtisanStarting
但是我不知道如何在监听器中获取每个命令的名称