From d00cf97e0ee0433afae3a627c03163fe45cefc22 Mon Sep 17 00:00:00 2001 From: Anton Komarev <1849174+antonkomarev@users.noreply.github.com> Date: Thu, 26 Sep 2019 15:35:41 +0300 Subject: [PATCH] Reorder Service Provider methods in execution sequence (#139) --- src/TenancyServiceProvider.php | 82 +++++++++++++++++----------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/src/TenancyServiceProvider.php b/src/TenancyServiceProvider.php index e93c2d08..c70c5418 100644 --- a/src/TenancyServiceProvider.php +++ b/src/TenancyServiceProvider.php @@ -11,12 +11,52 @@ use Stancl\Tenancy\TenancyBootstrappers\FilesystemTenancyBootstrapper; class TenancyServiceProvider extends ServiceProvider { + /** + * Register services. + * + * @return void + */ + public function register(): void + { + $this->mergeConfigFrom(__DIR__ . '/../assets/config.php', 'tenancy'); + + $this->app->bind(Contracts\StorageDriver::class, function ($app) { + return $app->make($app['config']['tenancy.storage_driver']); + }); + $this->app->bind(Contracts\UniqueIdentifierGenerator::class, $this->app['config']['tenancy.unique_id_generator']); + $this->app->singleton(DatabaseManager::class); + $this->app->singleton(TenantManager::class); + $this->app->bind(Tenant::class, function ($app) { + return $app[TenantManager::class]->getTenant(); + }); + + foreach ($this->app['config']['tenancy.bootstrappers'] as $bootstrapper) { + $this->app->singleton($bootstrapper); + } + + $this->app->singleton(Commands\Migrate::class, function ($app) { + return new Commands\Migrate($app['migrator'], $app[DatabaseManager::class]); + }); + $this->app->singleton(Commands\Rollback::class, function ($app) { + return new Commands\Rollback($app['migrator'], $app[DatabaseManager::class]); + }); + $this->app->singleton(Commands\Seed::class, function ($app) { + return new Commands\Seed($app['db'], $app[DatabaseManager::class]); + }); + + $this->app->bind('globalCache', function ($app) { + return new CacheManager($app); + }); + + $this->app->register(TenantRouteServiceProvider::class); + } + /** * Bootstrap services. * * @return void */ - public function boot() + public function boot(): void { $this->commands([ Commands\Run::class, @@ -55,44 +95,4 @@ class TenancyServiceProvider extends ServiceProvider } }); } - - /** - * Register services. - * - * @return void - */ - public function register() - { - $this->mergeConfigFrom(__DIR__ . '/../assets/config.php', 'tenancy'); - - $this->app->bind(Contracts\StorageDriver::class, function ($app) { - return $app->make($app['config']['tenancy.storage_driver']); - }); - $this->app->bind(Contracts\UniqueIdentifierGenerator::class, $this->app['config']['tenancy.unique_id_generator']); - $this->app->singleton(DatabaseManager::class); - $this->app->singleton(TenantManager::class); - $this->app->bind(Tenant::class, function ($app) { - return $app[TenantManager::class]->getTenant(); - }); - - foreach ($this->app['config']['tenancy.bootstrappers'] as $bootstrapper) { - $this->app->singleton($bootstrapper); - } - - $this->app->singleton(Commands\Migrate::class, function ($app) { - return new Commands\Migrate($app['migrator'], $app[DatabaseManager::class]); - }); - $this->app->singleton(Commands\Rollback::class, function ($app) { - return new Commands\Rollback($app['migrator'], $app[DatabaseManager::class]); - }); - $this->app->singleton(Commands\Seed::class, function ($app) { - return new Commands\Seed($app['db'], $app[DatabaseManager::class]); - }); - - $this->app->bind('globalCache', function ($app) { - return new CacheManager($app); - }); - - $this->app->register(TenantRouteServiceProvider::class); - } }