|
- <?php
-
- namespace App\Providers;
-
- use App\Codes\EnvironmentName;
- use App\Codes\QueueName;
- use App\Codes\SMSProviderName;
- use Illuminate\Queue\Events\JobProcessing;
- use Illuminate\Support\Facades\Log;
- use Illuminate\Support\Facades\Queue;
- use Illuminate\Support\ServiceProvider;
-
- class AppServiceProvider extends ServiceProvider
- {
- /**
- * Register any application services.
- */
- public function register(): void
- {
- //
- }
-
- /**
- * Bootstrap any application services.
- */
- public function boot(): void
- {
- if ($this->app->environment(EnvironmentName::LOCAL->value)) {
- // IDEヘルパー登録
- $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
- }
-
- //Queue関連
- Queue::before(function (JobProcessing $event) {
- // Logのドライバー設定
- $queueName = $event->job->getQueue();
- if ($queueName === QueueName::EMAIL->value) {
- Log::setDefaultDriver('queue-email');
- } else if ($queueName === QueueName::SMS->value) {
- Log::setDefaultDriver('queue-sms');
- }
- });
-
-
- // DB関連
- $this->app->singleton(\App\Util\DBUtil::class);
-
-
- // SMS関連
- $smsProvider = config('logic.sms_provider');
- if ($smsProvider === SMSProviderName::FOUR_S_MESSAGE) {
- $this->app->bind(\App\Logic\SMS\SMSManager::class, \App\Logic\SMS\FourSMessageManager::class);
- } else {
- $this->app->bind(\App\Logic\SMS\SMSManager::class, \App\Logic\SMS\LogManager::class);
- }
-
- // User関連
- $this->app->singleton(\App\Models\Ex\LoginUser::class);
- }
- }
|