MediaWiki  master
ExternalStoreMemory Class Reference

External storage in PHP process memory for testing. More...

Inheritance diagram for ExternalStoreMemory:
Collaboration diagram for ExternalStoreMemory:

Public Member Functions

 batchFetchFromURLs (array $urls)
 Fetch data from given external store URLs. More...
 
 clear ()
 Remove all data from memory for this domain. More...
 
 fetchFromURL ( $url)
 Fetch data from given external store URL. More...
 
 store ( $location, $data)
 Insert a data item into a given location. More...
 
- Public Member Functions inherited from ExternalStoreMedium
 __construct (array $params)
 
 isReadOnly ( $location)
 Check if a given location is read-only. More...
 
 setLogger (LoggerInterface $logger)
 

Private Member Functions

 getURLComponents ( $url)
 

Static Private Attributes

static array[] $data = []
 Map of (location => DB domain => id => value) More...
 
static int $nextId = 0
 

Additional Inherited Members

- Protected Attributes inherited from ExternalStoreMedium
string $dbDomain
 Default database domain to store content under. More...
 
bool $isDbDomainExplicit
 Whether this was factoried with an explicit DB domain. More...
 
LoggerInterface $logger
 
array $params = []
 Usage context options for this instance. More...
 

Detailed Description

External storage in PHP process memory for testing.

In this system, each store "location" is separate PHP array. URLs are of the form "memory://location/id". The id/value pairs at each location are segregated by DB domain ID.

See also
ExternalStoreAccess
Since
1.33

Definition at line 32 of file ExternalStoreMemory.php.

Member Function Documentation

◆ batchFetchFromURLs()

ExternalStoreMemory::batchFetchFromURLs ( array  $urls)

Fetch data from given external store URLs.

Parameters
array$urlsA list of external store URLs
Returns
string[] Map of (url => text) for the URLs where data was actually found

Reimplemented from ExternalStoreMedium.

Definition at line 47 of file ExternalStoreMemory.php.

References $blob, and fetchFromURL().

◆ clear()

ExternalStoreMemory::clear ( )

Remove all data from memory for this domain.

Definition at line 69 of file ExternalStoreMemory.php.

◆ fetchFromURL()

ExternalStoreMemory::fetchFromURL (   $url)

Fetch data from given external store URL.

Parameters
string$urlAn external store URL
Returns
string|bool The text stored or false on error
Exceptions
MWException

Reimplemented from ExternalStoreMedium.

Definition at line 38 of file ExternalStoreMemory.php.

References ExternalStoreMedium\$dbDomain, and getURLComponents().

Referenced by batchFetchFromURLs().

◆ getURLComponents()

ExternalStoreMemory::getURLComponents (   $url)
private
Parameters
string$url
Returns
array (location, ID or null)

Definition at line 82 of file ExternalStoreMemory.php.

References $path.

Referenced by fetchFromURL().

◆ store()

ExternalStoreMemory::store (   $location,
  $data 
)

Insert a data item into a given location.

Parameters
string$locationThe location name
string$dataThe data item
Returns
string|bool The URL of the stored data item, or false on error
Exceptions
MWException

Reimplemented from ExternalStoreMedium.

Definition at line 59 of file ExternalStoreMemory.php.

References $data, ExternalStoreMedium\$dbDomain, and $nextId.

Member Data Documentation

◆ $data

array [] ExternalStoreMemory::$data = []
staticprivate

Map of (location => DB domain => id => value)

Definition at line 34 of file ExternalStoreMemory.php.

Referenced by store().

◆ $nextId

int ExternalStoreMemory::$nextId = 0
staticprivate

Definition at line 36 of file ExternalStoreMemory.php.

Referenced by store().


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