auditionadmin/app/Providers/AppServiceProvider.php

39 lines
937 B
PHP

<?php
namespace App\Providers;
use App\Events\AuditionChange;
use App\Listeners\RefreshAuditionCache;
use App\Services\AuditionCacheService;
use App\Services\TabulationService;
use Illuminate\Support\Facades\Event;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*/
public function register(): void
{
$this->app->singleton(AuditionCacheService::class, function ($app) {
return new AuditionCacheService();
});
$this->app->singleton(TabulationService::class, function($app) {
return new TabulationService($app->make(AuditionCacheService::class));
});
}
/**
* Bootstrap any application services.
*/
public function boot(): void
{
Event::listen(
AuditionChange::class,
RefreshAuditionCache::class
);
}
}