diff --git a/src/Extension/ExtensionManager.php b/src/Extension/ExtensionManager.php index f5f4c9117..5a8d62d82 100644 --- a/src/Extension/ExtensionManager.php +++ b/src/Extension/ExtensionManager.php @@ -113,25 +113,27 @@ class ExtensionManager */ public function enable($name) { - if (! $this->isEnabled($name)) { - $extension = $this->getExtension($name); - - $this->dispatcher->dispatch(new Enabling($extension)); - - $enabled = $this->getEnabled(); - - $enabled[] = $name; - - $this->migrate($extension); - - $this->publishAssets($extension); - - $this->setEnabled($enabled); - - $extension->enable($this->app); - - $this->dispatcher->dispatch(new Enabled($extension)); + if ($this->isEnabled($name)) { + return; } + + $extension = $this->getExtension($name); + + $this->dispatcher->dispatch(new Enabling($extension)); + + $enabled = $this->getEnabled(); + + $enabled[] = $name; + + $this->migrate($extension); + + $this->publishAssets($extension); + + $this->setEnabled($enabled); + + $extension->enable($this->app); + + $this->dispatcher->dispatch(new Enabled($extension)); } /** @@ -143,19 +145,21 @@ class ExtensionManager { $enabled = $this->getEnabled(); - if (($k = array_search($name, $enabled)) !== false) { - $extension = $this->getExtension($name); - - $this->dispatcher->dispatch(new Disabling($extension)); - - unset($enabled[$k]); - - $this->setEnabled($enabled); - - $extension->disable($this->app); - - $this->dispatcher->dispatch(new Disabled($extension)); + if (($k = array_search($name, $enabled)) === false) { + return; } + + $extension = $this->getExtension($name); + + $this->dispatcher->dispatch(new Disabling($extension)); + + unset($enabled[$k]); + + $this->setEnabled($enabled); + + $extension->disable($this->app); + + $this->dispatcher->dispatch(new Disabled($extension)); } /**