From dbe8cba14e87be96c89a087b5f46db1056040242 Mon Sep 17 00:00:00 2001 From: Franz Liedke Date: Wed, 19 Dec 2018 22:19:34 +0100 Subject: [PATCH] Avoid unnecessary event subscribers Refs #1578. --- src/Discussion/DiscussionRenamedLogger.php | 8 +------- src/Discussion/DiscussionServiceProvider.php | 6 +++++- src/Extension/DefaultLanguagePackGuard.php | 15 +-------------- src/Extension/ExtensionServiceProvider.php | 8 +++++--- 4 files changed, 12 insertions(+), 25 deletions(-) diff --git a/src/Discussion/DiscussionRenamedLogger.php b/src/Discussion/DiscussionRenamedLogger.php index 2ab5f91d5..6eacd994c 100644 --- a/src/Discussion/DiscussionRenamedLogger.php +++ b/src/Discussion/DiscussionRenamedLogger.php @@ -15,7 +15,6 @@ use Flarum\Discussion\Event\Renamed; use Flarum\Notification\Blueprint\DiscussionRenamedBlueprint; use Flarum\Notification\NotificationSyncer; use Flarum\Post\DiscussionRenamedPost; -use Illuminate\Contracts\Events\Dispatcher; class DiscussionRenamedLogger { @@ -29,12 +28,7 @@ class DiscussionRenamedLogger $this->notifications = $notifications; } - public function subscribe(Dispatcher $events) - { - $events->listen(Renamed::class, [$this, 'whenDiscussionWasRenamed']); - } - - public function whenDiscussionWasRenamed(Renamed $event) + public function handle(Renamed $event) { $post = DiscussionRenamedPost::reply( $event->discussion->id, diff --git a/src/Discussion/DiscussionServiceProvider.php b/src/Discussion/DiscussionServiceProvider.php index e1c0c466a..f71215bc8 100644 --- a/src/Discussion/DiscussionServiceProvider.php +++ b/src/Discussion/DiscussionServiceProvider.php @@ -11,6 +11,7 @@ namespace Flarum\Discussion; +use Flarum\Discussion\Event\Renamed; use Flarum\Foundation\AbstractServiceProvider; class DiscussionServiceProvider extends AbstractServiceProvider @@ -24,6 +25,9 @@ class DiscussionServiceProvider extends AbstractServiceProvider $events->subscribe(DiscussionMetadataUpdater::class); $events->subscribe(DiscussionPolicy::class); - $events->subscribe(DiscussionRenamedLogger::class); + + $events->listen( + Renamed::class, DiscussionRenamedLogger::class + ); } } diff --git a/src/Extension/DefaultLanguagePackGuard.php b/src/Extension/DefaultLanguagePackGuard.php index 88d98c7a8..b40dbd55b 100644 --- a/src/Extension/DefaultLanguagePackGuard.php +++ b/src/Extension/DefaultLanguagePackGuard.php @@ -14,7 +14,6 @@ namespace Flarum\Extension; use Flarum\Extension\Event\Disabling; use Flarum\Http\Exception\ForbiddenException; use Flarum\Settings\SettingsRepositoryInterface; -use Illuminate\Contracts\Events\Dispatcher; class DefaultLanguagePackGuard { @@ -28,19 +27,7 @@ class DefaultLanguagePackGuard $this->settings = $settings; } - /** - * @param Dispatcher $events - */ - public function subscribe(Dispatcher $events) - { - $events->listen(Disabling::class, [$this, 'whenExtensionWillBeDisabled']); - } - - /** - * @param Disabling $event - * @throws ForbiddenException - */ - public function whenExtensionWillBeDisabled(Disabling $event) + public function handle(Disabling $event) { if (! in_array('flarum-locale', $event->extension->extra)) { return; diff --git a/src/Extension/ExtensionServiceProvider.php b/src/Extension/ExtensionServiceProvider.php index fe5135628..4e43fd9b5 100644 --- a/src/Extension/ExtensionServiceProvider.php +++ b/src/Extension/ExtensionServiceProvider.php @@ -11,6 +11,7 @@ namespace Flarum\Extension; +use Flarum\Extension\Event\Disabling; use Flarum\Foundation\AbstractServiceProvider; use Illuminate\Contracts\Container\Container; @@ -38,8 +39,9 @@ class ExtensionServiceProvider extends AbstractServiceProvider */ public function boot() { - $events = $this->app->make('events'); - - $events->subscribe(DefaultLanguagePackGuard::class); + $this->app->make('events')->listen( + Disabling::class, + DefaultLanguagePackGuard::class + ); } }