在laravel应用程序上,无论事件被触发多少次,都可能只调用一次监听器?

时间:2019-08-25 20:13:59

标签: php laravel

我认为标题说明了一切。在Laravel应用中,我在代码中多次调度一个(或多个)事件,并为它们分配了一个订阅者,但是无论如何,我都希望它仅处理一次事件在流程中多次触发。

有没有明确的方法可以做到这一点,或者我需要一个..singleton类或类似的东西?

谢谢

1 个答案:

答案 0 :(得分:1)

第一次发送后,您可以在订阅者中用Event::forget('YourEvent');取消监听该事件。

缺点是此事件的所有其他侦听器也将被删除。