24use Psr\Log\LoggerAwareInterface;
25use Psr\Log\LoggerInterface;
26use Psr\Log\NullLogger;
57 if ( isset(
$params[
'domain'] ) ) {
58 $this->dbDomain =
$params[
'domain'];
59 $this->isDbDomainExplicit = empty(
$params[
'isDomainImplicit'] );
61 throw new InvalidArgumentException(
'Missing DB "domain" parameter.' );
64 $this->logger =
$params[
'logger'] ??
new NullLogger();
88 foreach ( $urls as $url ) {
91 if ( $data !==
false ) {
92 $retval[$url] = $data;
107 abstract public function store( $location, $data );
Key/value blob storage for a particular storage medium type (e.g.
array $params
Usage context options for this instance.
setLogger(LoggerInterface $logger)
fetchFromURL( $url)
Fetch data from given external store URL.
bool $isDbDomainExplicit
Whether this was factoried with an explicit DB domain.
store( $location, $data)
Insert a data item into a given location.
batchFetchFromURLs(array $urls)
Fetch data from given external store URLs.
isReadOnly( $location)
Check if a given location is read-only.
string $dbDomain
Default database domain to store content under.
__construct(array $params)