app/Providers/FilterServiceProvider.php
<?php
namespace App\Providers;
use App\Helpers\FilterDispatcher;
use Illuminate\Contracts\Queue\Factory as QueueFactoryContract;
use Illuminate\Contracts\Support\DeferrableProvider;
use Illuminate\Support\ServiceProvider;
class FilterServiceProvider extends ServiceProvider implements DeferrableProvider
{
public function register(): void
{
$this->app->scoped('filter', static function ($app) {
return (new FilterDispatcher($app))->setQueueResolver(static function () use ($app) {
return $app->make(QueueFactoryContract::class);
});
});
}
public function provides(): array
{
return ['filter'];
}
}