From f7b2736736e1f463a7b0bf6235fb16ada2dfb417 Mon Sep 17 00:00:00 2001 From: fadrian06 Date: Sun, 16 Aug 2026 01:56:53 -0400 Subject: [PATCH] simplify EventDispatcher@trigger --- flight/core/EventDispatcher.php | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/flight/core/EventDispatcher.php b/flight/core/EventDispatcher.php index a7e2f75..3476192 100644 --- a/flight/core/EventDispatcher.php +++ b/flight/core/EventDispatcher.php @@ -27,27 +27,24 @@ class EventDispatcher } /** - * Trigger an event with optional arguments. - * - * @param string $event Event name - * @param mixed ...$args Arguments to pass to the callbacks - * + * @param mixed ...$args Arguments to pass to the listeners. * @return mixed */ public function trigger(string $event, ...$args) { - $result = null; - if (isset($this->listeners[$event]) === true) { - foreach ($this->listeners[$event] as $callback) { - $result = call_user_func_array($callback, $args); + $listenerReturnValue = null; + + if (isset($this->listeners[$event])) { + foreach ($this->listeners[$event] as $listener) { + $listenerReturnValue = $listener(...$args); - // If you return false, it will break the loop and stop the other event listeners. - if ($result === false) { - break; // Stop executing further listeners + if ($listenerReturnValue === false) { + break; } } } - return $result; + + return $listenerReturnValue; } /**