conf = $conf; $this->session = $session; $this->login = $login; } public function build(): ShaarliContainer { $container = new ShaarliContainer(); $container['conf'] = $this->conf; $container['sessionManager'] = $this->session; $container['loginManager'] = $this->login; $container['plugins'] = function (ShaarliContainer $container): PluginManager { return new PluginManager($container->conf); }; $container['history'] = function (ShaarliContainer $container): History { return new History($container->conf->get('resource.history')); }; $container['bookmarkService'] = function (ShaarliContainer $container): BookmarkServiceInterface { return new BookmarkFileService( $container->conf, $container->history, $container->loginManager->isLoggedIn() ); }; $container['pageBuilder'] = function (ShaarliContainer $container): PageBuilder { return new PageBuilder( $container->conf, $container->sessionManager->getSession(), $container->bookmarkService, $container->sessionManager->generateToken(), $container->loginManager->isLoggedIn() ); }; return $container; } }