diff --git a/src/Illuminate/Events/Dispatcher.php b/src/Illuminate/Events/Dispatcher.php index 6b0f3f82256f..5972a8384947 100755 --- a/src/Illuminate/Events/Dispatcher.php +++ b/src/Illuminate/Events/Dispatcher.php @@ -182,7 +182,13 @@ public function subscribe($subscriber) if (is_array($events)) { foreach ($events as $event => $listeners) { - foreach ($listeners as $listener) { + foreach (Arr::wrap($listeners) as $listener) { + if (is_string($listener) && method_exists($subscriber, $listener)) { + $this->listen($event, [get_class($subscriber), $listener]); + + continue; + } + $this->listen($event, $listener); } }