39use Psr\Log\LoggerInterface;
41use Wikimedia\Assert\Assert;
59 private $blobStoreFactory;
61 private $dbLoadBalancerFactory;
70 private $commentStore;
72 private $actorMigration;
74 private $actorStoreFactory;
79 private $slotRoleRegistry;
82 private $contentHandlerFactory;
85 private $pageStoreFactory;
88 private $titleFactory;
91 private $hookContainer;
119 LoggerInterface $logger,
125 $this->dbLoadBalancerFactory = $dbLoadBalancerFactory;
126 $this->blobStoreFactory = $blobStoreFactory;
127 $this->slotRoleRegistry = $slotRoleRegistry;
128 $this->nameTables = $nameTables;
129 $this->cache = $cache;
130 $this->localCache = $localCache;
131 $this->commentStore = $commentStore;
132 $this->actorMigration = $actorMigration;
133 $this->actorStoreFactory = $actorStoreFactory;
134 $this->logger = $logger;
135 $this->contentHandlerFactory = $contentHandlerFactory;
136 $this->pageStoreFactory = $pageStoreFactory;
137 $this->titleFactory = $titleFactory;
138 $this->hookContainer = $hookContainer;
149 Assert::parameterType( [
'string',
'false' ], $dbDomain,
'$dbDomain' );
152 $this->dbLoadBalancerFactory->getMainLB( $dbDomain ),
153 $this->blobStoreFactory->newSqlBlobStore( $dbDomain ),
157 $this->nameTables->getContentModels( $dbDomain ),
158 $this->nameTables->getSlotRoles( $dbDomain ),
159 $this->slotRoleRegistry,
160 $this->actorMigration,
161 $this->actorStoreFactory->getActorStore( $dbDomain ),
162 $this->contentHandlerFactory,
163 $this->pageStoreFactory->getPageStore( $dbDomain ),
165 $this->hookContainer,
169 $store->setLogger( $this->logger );
Class representing a cache/ephemeral data store.
Multi-datacenter aware caching interface.