%PDF- %PDF-
Direktori : /home/graphicd/public_html/vebto/vendor/kreait/laravel-firebase/src/ |
Current File : /home/graphicd/public_html/vebto/vendor/kreait/laravel-firebase/src/ServiceProvider.php |
<?php declare(strict_types=1); namespace Kreait\Laravel\Firebase; use Illuminate\Contracts\Container\Container; use Kreait\Firebase; use Laravel\Lumen\Application as Lumen; final class ServiceProvider extends \Illuminate\Support\ServiceProvider { public function boot() { // @codeCoverageIgnoreStart if (!$this->app->runningInConsole()) { return; } if ($this->app instanceof Lumen) { return; } // @codeCoverageIgnoreEnd $this->publishes([ __DIR__.'/../config/firebase.php' => $this->app->configPath('firebase.php'), ], 'config'); } public function register() { // @codeCoverageIgnoreStart if ($this->app instanceof Lumen) { $this->app->configure('firebase'); } // @codeCoverageIgnoreEnd $this->mergeConfigFrom(__DIR__.'/../config/firebase.php', 'firebase'); $this->registerManager(); $this->registerComponents(); } private function registerComponents(): void { $this->app->singleton(Firebase\Auth::class, static function (Container $app) { return $app->make(FirebaseProjectManager::class)->project()->auth(); }); $this->app->alias(Firebase\Auth::class, 'firebase.auth'); $this->app->singleton(Firebase\Database::class, static function (Container $app) { return $app->make(FirebaseProjectManager::class)->project()->database(); }); $this->app->alias(Firebase\Database::class, 'firebase.database'); $this->app->singleton(Firebase\DynamicLinks::class, static function (Container $app) { return $app->make(FirebaseProjectManager::class)->project()->dynamicLinks(); }); $this->app->alias(Firebase\DynamicLinks::class, 'firebase.dynamic_links'); $this->app->singleton(Firebase\Firestore::class, static function (Container $app) { return $app->make(FirebaseProjectManager::class)->project()->firestore(); }); $this->app->alias(Firebase\Firestore::class, 'firebase.firestore'); $this->app->singleton(Firebase\Messaging::class, static function (Container $app) { return $app->make(FirebaseProjectManager::class)->project()->messaging(); }); $this->app->alias(Firebase\Messaging::class, 'firebase.messaging'); $this->app->singleton(Firebase\RemoteConfig::class, static function (Container $app) { return $app->make(FirebaseProjectManager::class)->project()->remoteConfig(); }); $this->app->alias(Firebase\RemoteConfig::class, 'firebase.remote_config'); $this->app->singleton(Firebase\Storage::class, static function (Container $app) { return $app->make(FirebaseProjectManager::class)->project()->storage(); }); $this->app->alias(Firebase\Storage::class, 'firebase.storage'); } private function registerManager(): void { $this->app->singleton(FirebaseProjectManager::class, static function (Container $app) { return new FirebaseProjectManager($app); }); $this->app->alias(FirebaseProjectManager::class, 'firebase.manager'); } }