app->singleton(PostFilter::class, function (Application $app) { return new PostFilter(); }); $this->app->singleton(PostOrder::class, function (Application $app) { return new PostOrder(); }); $this->app->singleton(PostServiceInterface::class, function (Application $app) { return new CachedPostService( $this->app->get(PostFilter::class), $this->app->get(PostOrder::class), $this->app->get(CacheKeyBuilder::class), ); }); } /** * Bootstrap services. */ public function boot(): void { } }