From fdcebc1bcb67c8a0ba9ad71be0342e147b579efe Mon Sep 17 00:00:00 2001 From: Taylor Otwell Date: Thu, 1 Mar 2012 12:02:16 -0600 Subject: [PATCH] Added override and clear methods to event class. Signed-off-by: Taylor Otwell --- laravel/event.php | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/laravel/event.php b/laravel/event.php index 418b82ed..02fc649c 100644 --- a/laravel/event.php +++ b/laravel/event.php @@ -40,6 +40,31 @@ class Event { static::$events[$event][] = $callback; } + /** + * Override all callbacks for a given event with a new callback. + * + * @param string $event + * @param mixed $callback + * @return void + */ + public static function override($event, $callback) + { + static::clear($event); + + static::listen($event, $callback); + } + + /** + * Clear all event listeners for a given event. + * + * @param string $event + * @return void + */ + public static function clear($event) + { + static::$events[$event] = array(); + } + /** * Fire an event and return the first response. *