From 198a67f06f025fa5925b64d167dbbfe2018e3b46 Mon Sep 17 00:00:00 2001 From: ARCANEDEV Date: Thu, 3 Oct 2019 14:13:59 +0100 Subject: [PATCH] Defer the providers properly --- composer.json | 4 +++- src/LaravelLangServiceProvider.php | 3 --- ...edServiceProvider.php => DeferredServicesProvider.php} | 2 +- src/Providers/TranslationServiceProvider.php | 6 ++---- tests/Providers/DeferredServiceProviderTest.php | 8 ++++---- tests/TestCase.php | 2 ++ 6 files changed, 12 insertions(+), 13 deletions(-) rename src/Providers/{DeferredServiceProvider.php => DeferredServicesProvider.php} (96%) diff --git a/composer.json b/composer.json index a381f88..646e1b5 100644 --- a/composer.json +++ b/composer.json @@ -39,7 +39,9 @@ "extra": { "laravel": { "providers": [ - "Arcanedev\\LaravelLang\\LaravelLangServiceProvider" + "Arcanedev\\LaravelLang\\LaravelLangServiceProvider", + "Arcanedev\\LaravelLang\\Providers\\DeferredServicesProvider", + "Arcanedev\\LaravelLang\\Providers\\TranslationServiceProvider" ] } } diff --git a/src/LaravelLangServiceProvider.php b/src/LaravelLangServiceProvider.php index dedefa9..d9def28 100644 --- a/src/LaravelLangServiceProvider.php +++ b/src/LaravelLangServiceProvider.php @@ -36,9 +36,6 @@ public function register(): void $this->registerConfig(); - $this->app->registerDeferredProvider(Providers\DeferredServiceProvider::class); - $this->registerProvider(Providers\TranslationServiceProvider::class); - $this->registerCommands([ Commands\CheckCommand::class, Commands\PublishCommand::class, diff --git a/src/Providers/DeferredServiceProvider.php b/src/Providers/DeferredServicesProvider.php similarity index 96% rename from src/Providers/DeferredServiceProvider.php rename to src/Providers/DeferredServicesProvider.php index 42301dd..678b9f9 100644 --- a/src/Providers/DeferredServiceProvider.php +++ b/src/Providers/DeferredServicesProvider.php @@ -11,7 +11,7 @@ * @package Arcanedev\LaravelLang\Providers * @author ARCANEDEV */ -class DeferredServiceProvider extends ServiceProvider implements DeferrableProvider +class DeferredServicesProvider extends ServiceProvider implements DeferrableProvider { /* ----------------------------------------------------------------- | Main Methods diff --git a/src/Providers/TranslationServiceProvider.php b/src/Providers/TranslationServiceProvider.php index 7f89e6b..3ee37f4 100644 --- a/src/Providers/TranslationServiceProvider.php +++ b/src/Providers/TranslationServiceProvider.php @@ -23,13 +23,11 @@ class TranslationServiceProvider extends ServiceProvider protected function registerLoader() { $this->app->singleton('translation.loader', function(Application $app) { - $config = $app['config']; - return new FileLoader( $app['files'], $app->langPath(), - $config->get('laravel-lang.vendor', ''), - $config->get('laravel-lang.locales', []) + $app['config']->get('laravel-lang.vendor', ''), + $app['config']->get('laravel-lang.locales', []) ); }); } diff --git a/tests/Providers/DeferredServiceProviderTest.php b/tests/Providers/DeferredServiceProviderTest.php index 58556f2..49af7f3 100644 --- a/tests/Providers/DeferredServiceProviderTest.php +++ b/tests/Providers/DeferredServiceProviderTest.php @@ -1,6 +1,6 @@ provider = $this->app->getProvider(DeferredServiceProvider::class); + $this->provider = $this->app->getProvider(DeferredServicesProvider::class); } /* ----------------------------------------------------------------- @@ -43,7 +43,7 @@ public function it_can_be_instantiated() \Illuminate\Support\ServiceProvider::class, \Illuminate\Contracts\Support\DeferrableProvider::class, \Arcanedev\Support\Providers\ServiceProvider::class, - \Arcanedev\LaravelLang\Providers\DeferredServiceProvider::class, + \Arcanedev\LaravelLang\Providers\DeferredServicesProvider::class, ]; foreach ($expectations as $expected) { diff --git a/tests/TestCase.php b/tests/TestCase.php index d03144a..ef1bac2 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -44,6 +44,8 @@ protected function getPackageProviders($app) { return [ \Arcanedev\LaravelLang\LaravelLangServiceProvider::class, + \Arcanedev\LaravelLang\Providers\DeferredServicesProvider::class, + \Arcanedev\LaravelLang\Providers\TranslationServiceProvider::class, ]; }