share(Loader::class, [$this, 'getLoaderService'], true); $container->share(Admin::class, [$this, 'getAdminService'], true); $container->share(Updater::class, [$this, 'getUpdaterService'], true); $container->share(Installer::class, [$this, 'getInstallerService'], true); } public function getLoaderService(Container $container): Loader { $loader = new Loader( $container->get(Registry::class), $container->get(Admin::class), $container->get(Installer::class), $container->get(PageCache::class), $container->get(UtilityInterface::class), $container->get(Updater::class), ); $loader->setContainer($container) ->setLogger($container->get(LoggerInterface::class)); return $loader; } public function getAdminService(Container $container): Admin { return (new Admin( $container->get('params'), $container->get(ControllerResolver::class), $container->get(PathsInterface::class), ))->setContainer($container); } public function getUpdaterService(Container $container): ?Updater { return new Updater($container->get('params')); } public function getInstallerService(Container $container): Installer { return new Installer( $container->get(Registry::class), $container->get(AdminTasks::class), $container->get(AdminHelper::class), $container->get(CacheMaintainer::class), $container ); } }