options = $options; $this->linksMigration = $linksMigration; $this->wanCache = $wanCache; $this->hookContainer = $hookContainer; $this->dbProvider = $dbProvider; $this->logger = $logger; } /** * Returns a BacklinkCache for $page. May re-use previously * created instances. * * Currently, only one cache instance can exist; callers that * need multiple backlink cache objects should keep them in scope. * * @param PageReference $page Page to get a backlink cache for * @return BacklinkCache */ public function getBacklinkCache( PageReference $page ): BacklinkCache { if ( !$this->latestBacklinkCache || !$this->latestBacklinkCache->getPage()->isSamePageAs( $page ) ) { $this->latestBacklinkCache = new BacklinkCache( $this->options, $this->linksMigration, $this->wanCache, $this->hookContainer, $this->dbProvider, $this->logger, $page ); } return $this->latestBacklinkCache; } }