MediaWiki REL1_31
MessageBlobStore Class Reference

This class generates message blobs for use by ResourceLoader modules. More...

Inheritance diagram for MessageBlobStore:
Collaboration diagram for MessageBlobStore:

Public Member Functions

 __construct (ResourceLoader $rl=null, LoggerInterface $logger=null)
 
 clear ()
 Invalidate cache keys for all known modules.
 
 get (ResourceLoader $resourceLoader, $modules, $lang)
 
 getBlob (ResourceLoaderModule $module, $lang)
 Get the message blob for a module.
 
 getBlobs (array $modules, $lang)
 Get the message blobs for a set of modules.
 
 setLogger (LoggerInterface $logger)
 
 updateMessage ( $key)
 Invalidate cache keys for modules using this message key.
 

Protected Member Functions

 fetchMessage ( $key, $lang)
 
 getResourceLoader ()
 
 recacheMessageBlob ( $cacheKey, ResourceLoaderModule $module, $lang)
 

Protected Attributes

LoggerInterface $logger
 
WANObjectCache $wanCache
 

Private Member Functions

 generateMessageBlob (ResourceLoaderModule $module, $lang)
 Generate the message blob for a given module in a given language.
 
 makeCacheKey (ResourceLoaderModule $module, $lang)
 

Private Attributes

 $resourceloader
 

Detailed Description

This class generates message blobs for use by ResourceLoader modules.

A message blob is a JSON object containing the interface messages for a certain module in a certain language.

Definition at line 37 of file MessageBlobStore.php.

Constructor & Destructor Documentation

◆ __construct()

MessageBlobStore::__construct ( ResourceLoader $rl = null,
LoggerInterface $logger = null )
Parameters
ResourceLoader$rl
LoggerInterface$logger

Definition at line 56 of file MessageBlobStore.php.

References $logger.

Member Function Documentation

◆ clear()

MessageBlobStore::clear ( )

Invalidate cache keys for all known modules.

Called by LocalisationCache after cache is regenerated.

Reimplemented in NullMessageBlobStore.

Definition at line 181 of file MessageBlobStore.php.

References $cache, $wanCache, and WANObjectCache\touchCheckKey().

◆ fetchMessage()

MessageBlobStore::fetchMessage ( $key,
$lang )
protected
Since
1.27
Parameters
string$keyMessage key
string$langLanguage code
Returns
string

Definition at line 208 of file MessageBlobStore.php.

References $lang, $value, and wfMessage().

Referenced by generateMessageBlob().

◆ generateMessageBlob()

MessageBlobStore::generateMessageBlob ( ResourceLoaderModule $module,
$lang )
private

Generate the message blob for a given module in a given language.

Parameters
ResourceLoaderModule$module
string$langLanguage code
Returns
string JSON blob

Definition at line 227 of file MessageBlobStore.php.

References $lang, $messages, fetchMessage(), ResourceLoaderModule\getMessages(), and ResourceLoaderModule\getName().

Referenced by recacheMessageBlob().

◆ get()

MessageBlobStore::get ( ResourceLoader $resourceLoader,
$modules,
$lang )
Deprecated
since 1.27 Use getBlobs() instead
Returns
array

Reimplemented in NullMessageBlobStore.

Definition at line 127 of file MessageBlobStore.php.

References $lang, and getBlobs().

Referenced by ResourceLoader\register().

◆ getBlob()

MessageBlobStore::getBlob ( ResourceLoaderModule $module,
$lang )

Get the message blob for a module.

Since
1.27
Parameters
ResourceLoaderModule$module
string$langLanguage code
Returns
string JSON

Definition at line 78 of file MessageBlobStore.php.

References $lang, getBlobs(), and ResourceLoaderModule\getName().

◆ getBlobs()

MessageBlobStore::getBlobs ( array $modules,
$lang )

Get the message blobs for a set of modules.

Since
1.27
Parameters
ResourceLoaderModule[]$modulesArray of module objects keyed by name
string$langLanguage code
Returns
array An array mapping module names to message blobs

Definition at line 91 of file MessageBlobStore.php.

References $cache, $lang, $modules, $name, $wanCache, makeCacheKey(), and recacheMessageBlob().

Referenced by get(), and getBlob().

◆ getResourceLoader()

MessageBlobStore::getResourceLoader ( )
protected
Since
1.27
Returns
ResourceLoader

Definition at line 192 of file MessageBlobStore.php.

References $resourceloader.

Referenced by updateMessage().

◆ makeCacheKey()

MessageBlobStore::makeCacheKey ( ResourceLoaderModule $module,
$lang )
private
Since
1.27
Parameters
ResourceLoaderModule$module
string$lang
Returns
string Cache key

Definition at line 137 of file MessageBlobStore.php.

References $lang, $messages, ResourceLoaderModule\getMessages(), and ResourceLoaderModule\getName().

Referenced by getBlobs().

◆ recacheMessageBlob()

MessageBlobStore::recacheMessageBlob ( $cacheKey,
ResourceLoaderModule $module,
$lang )
protected
Since
1.27
Parameters
string$cacheKey
ResourceLoaderModule$module
string$lang
Returns
string JSON blob

Definition at line 152 of file MessageBlobStore.php.

References $blob, $cache, $lang, $wanCache, DB_REPLICA, generateMessageBlob(), WANObjectCache\set(), and wfGetDB().

Referenced by getBlobs().

◆ setLogger()

MessageBlobStore::setLogger ( LoggerInterface $logger)
Since
1.27
Parameters
LoggerInterface$logger

Definition at line 66 of file MessageBlobStore.php.

References $logger.

◆ updateMessage()

MessageBlobStore::updateMessage ( $key)

Invalidate cache keys for modules using this message key.

Called by MessageCache when a message has changed.

Parameters
string$keyMessage key

Reimplemented in NullMessageBlobStore.

Definition at line 169 of file MessageBlobStore.php.

References getResourceLoader().

Member Data Documentation

◆ $logger

LoggerInterface MessageBlobStore::$logger
protected

Definition at line 45 of file MessageBlobStore.php.

Referenced by __construct(), and setLogger().

◆ $resourceloader

MessageBlobStore::$resourceloader
private

Definition at line 40 of file MessageBlobStore.php.

Referenced by getResourceLoader().

◆ $wanCache

WANObjectCache MessageBlobStore::$wanCache
protected

Definition at line 50 of file MessageBlobStore.php.

Referenced by clear(), getBlobs(), and recacheMessageBlob().


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