39use Psr\Log\LoggerInterface;
41use Wikimedia\Assert\Assert;
59 private $blobStoreFactory;
61 private $dbLoadBalancerFactory;
70 private $commentStore;
72 private $actorStoreFactory;
77 private $slotRoleRegistry;
80 private $contentHandlerFactory;
83 private $pageStoreFactory;
86 private $titleFactory;
89 private $hookContainer;
115 LoggerInterface $logger,
121 $this->dbLoadBalancerFactory = $dbLoadBalancerFactory;
122 $this->blobStoreFactory = $blobStoreFactory;
123 $this->slotRoleRegistry = $slotRoleRegistry;
124 $this->nameTables = $nameTables;
125 $this->cache = $cache;
126 $this->localCache = $localCache;
127 $this->commentStore = $commentStore;
128 $this->actorStoreFactory = $actorStoreFactory;
129 $this->logger = $logger;
130 $this->contentHandlerFactory = $contentHandlerFactory;
131 $this->pageStoreFactory = $pageStoreFactory;
132 $this->titleFactory = $titleFactory;
133 $this->hookContainer = $hookContainer;
144 return $this->getStore(
146 $this->actorStoreFactory->getActorStore( $dbDomain )
158 return $this->getStore(
160 $this->actorStoreFactory->getActorStoreForImport( $dbDomain )
170 private function getStore( $dbDomain,
ActorStore $actorStore ) {
171 Assert::parameterType( [
'string',
'false' ], $dbDomain,
'$dbDomain' );
174 $this->dbLoadBalancerFactory->getMainLB( $dbDomain ),
175 $this->blobStoreFactory->newSqlBlobStore( $dbDomain ),
179 $this->nameTables->getContentModels( $dbDomain ),
180 $this->nameTables->getSlotRoles( $dbDomain ),
181 $this->slotRoleRegistry,
183 $this->contentHandlerFactory,
184 $this->pageStoreFactory->getPageStore( $dbDomain ),
186 $this->hookContainer,
190 $store->setLogger( $this->logger );
Class representing a cache/ephemeral data store.
Multi-datacenter aware caching interface.