registerFilters(); $this->registerPipeline(); $this->app->bind(TaskServiceInterface::class, TaskService::class); } /** * Bootstrap any application services. */ public function boot(): void { // } private function registerFilters(): void { $this->app->bind(FilterFactoryInterface::class, function () { return new FilterFactory( config('filters.available', []) ); }); } private function registerPipeline(): void { $this->app->bind(QueryFilterPipelineInterface::class, function ($app) { return new QueryFilterPipeline( $app->make(Pipeline::class), $app->make(FilterFactoryInterface::class) ); }); } }