MediaWiki master
ExternalStoreAccess Class Reference

This is the main interface for fetching or inserting objects with ExternalStore. More...

Inherits LoggerAwareInterface.

Collaboration diagram for ExternalStoreAccess:

Public Member Functions

 __construct (ExternalStoreFactory $factory, LoggerInterface $logger=null)
 
 fetchFromURL ( $url, array $params=[])
 Fetch data from given URL.
 
 fetchFromURLs (array $urls, array $params=[])
 Fetch data from multiple URLs with a minimum of round trips.
 
 insert ( $data, array $params=[], array $tryStores=null)
 Insert data into storage and return the assigned URL.
 
 isReadOnly ( $storeUrls=null)
 
 setLogger (LoggerInterface $logger)
 

Detailed Description

This is the main interface for fetching or inserting objects with ExternalStore.

This interface is meant to mimic the ExternalStoreMedium base class (which represents a single external store protocol), and transparently uses the right instance of that class when fetching by URL.

See also
ExternalStore Architecture.
Since
1.34

Definition at line 43 of file ExternalStoreAccess.php.

Constructor & Destructor Documentation

◆ __construct()

ExternalStoreAccess::__construct ( ExternalStoreFactory  $factory,
LoggerInterface  $logger = null 
)
Parameters
ExternalStoreFactory$factory
LoggerInterface | null$logger

Definition at line 53 of file ExternalStoreAccess.php.

Member Function Documentation

◆ fetchFromURL()

ExternalStoreAccess::fetchFromURL (   $url,
array  $params = [] 
)

Fetch data from given URL.

See also
ExternalStoreFactory::getStore()
Parameters
string$urlThe URL of the text to get
array$paramsMap of context parameters; same as ExternalStoreFactory::getStore()
Returns
string|false The text stored or false on error
Exceptions
ExternalStoreException

Definition at line 72 of file ExternalStoreAccess.php.

References $params.

◆ fetchFromURLs()

ExternalStoreAccess::fetchFromURLs ( array  $urls,
array  $params = [] 
)

Fetch data from multiple URLs with a minimum of round trips.

See also
ExternalStoreFactory::getStore()
Parameters
array$urlsThe URLs of the text to get
array$paramsMap of context parameters; same as ExternalStoreFactory::getStore()
Returns
array Map of (url => string or false if not found)
Exceptions
ExternalStoreException

Definition at line 86 of file ExternalStoreAccess.php.

References $params.

◆ insert()

ExternalStoreAccess::insert (   $data,
array  $params = [],
array  $tryStores = null 
)

Insert data into storage and return the assigned URL.

This will randomly pick one of the available write storage locations to put the data. It will keep failing-over to any untried storage locations whenever one location is not usable.

See also
ExternalStoreFactory::getStore()
Parameters
string$data
array$paramsMap of context parameters; same as ExternalStoreFactory::getStore()
string[] | null$tryStoresBase URLs to try, e.g. [ "DB://cluster1" ]
Returns
string|false The URL of the stored data item, or false on error
Exceptions
ExternalStoreException

Definition at line 117 of file ExternalStoreAccess.php.

References $params.

◆ isReadOnly()

ExternalStoreAccess::isReadOnly (   $storeUrls = null)
Parameters
string[] | string | null$storeUrlsBase URL(s) to check, e.g. [ "DB://cluster1" ]
Returns
bool Whether all the default insertion stores are marked as read-only
Exceptions
ExternalStoreException

Definition at line 186 of file ExternalStoreAccess.php.

◆ setLogger()

ExternalStoreAccess::setLogger ( LoggerInterface  $logger)

Definition at line 58 of file ExternalStoreAccess.php.


The documentation for this class was generated from the following file: