app->bind(SettingsService::class, function ($app) { return new SettingsService(new DocService(), new ContentService()); }); $this->app->bind(AuthService::class, function ($app) { return new AuthService(new SettingsService(new DocService(), new ContentService())); }); $this->app->bind(ContentService::class, function ($app) { return new ContentService(); }); $this->app->bind(ThemeService::class, function ($app) { return new ThemeService(new SettingsService(new DocService(), new ContentService())); }); $this->app->bind(PaginateService::class, function ($app) { return new PaginateService(new ContentService()); }); $this->app->bind(DocService::class, function ($app) { return new DocService(); }); $this->app->bind(FileUploadService::class, function ($app) { return new FileUploadService(); }); $this->app->bind(RenderService::class, function ($app) { return new RenderService( new SortingService( new SettingsService(new DocService(), new ContentService()), new ContentService(), new ThemeService(new SettingsService(new DocService(), new ContentService())) ), new SettingsService(new DocService(), new ContentService()), new ContentService(), ); }); $this->app->bind(SortingService::class, function ($app) { return new SortingService( new SettingsService(new DocService(), new ContentService()), new ContentService(), new ThemeService(new SettingsService(new DocService(), new ContentService())) ); }); $this->app->bind(AssetService::class, function ($app) { return new AssetService( new ThemeService( new SettingsService(new DocService(), new ContentService()) ) ); }); } /** * Bootstrap services. */ public function boot(): void { $this->app->bind(PageRepositoryInterface::class, PageRepository::class); } }