app->bind(SettingsService::class, function ($app) { return 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()) ) ); }); $this->app->bind(MaintenanceService::class, function ($app) { return new MaintenanceService( new SettingsService(new DocService(), new ContentService()) ); }); $this->app->bind(InitService::class, function ($app) { return new InitService(new DocService()); }); $this->app->bind(ResetService::class, function ($app) { return new ResetService(); }); } /** * Bootstrap services. */ public function boot(): void { $this->app->bind(PageRepositoryInterface::class, PageRepository::class); $this->app->bind(MemberRepositoryInterface::class, MemberRepository::class); } }