MediaWiki  1.33.0
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, LoggerInterface $logger=null)
 
 clear ()
 Invalidate cache keys for all known modules. More...
 
 getBlob (ResourceLoaderModule $module, $lang)
 Get the message blob for a module. More...
 
 getBlobs (array $modules, $lang)
 Get the message blobs for a set of modules. More...
 
 setLogger (LoggerInterface $logger)
 
 updateMessage ( $key)
 Invalidate cache keys for modules using this message key. More...
 

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. More...
 
 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 38 of file MessageBlobStore.php.

Constructor & Destructor Documentation

◆ __construct()

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

Definition at line 57 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.

Definition at line 174 of file MessageBlobStore.php.

References $cache, and $wanCache.

◆ fetchMessage()

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

Definition at line 195 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 214 of file MessageBlobStore.php.

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

Referenced by recacheMessageBlob().

◆ 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 79 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 92 of file MessageBlobStore.php.

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

Referenced by getBlob().

◆ getResourceLoader()

MessageBlobStore::getResourceLoader ( )
protected
Since
1.27
Returns
ResourceLoader

Definition at line 185 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 130 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 145 of file MessageBlobStore.php.

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

Referenced by getBlobs().

◆ setLogger()

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

Definition at line 67 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

Definition at line 162 of file MessageBlobStore.php.

References as, and getResourceLoader().

Member Data Documentation

◆ $logger

LoggerInterface MessageBlobStore::$logger
protected

Definition at line 46 of file MessageBlobStore.php.

Referenced by __construct(), and setLogger().

◆ $resourceloader

MessageBlobStore::$resourceloader
private

Definition at line 41 of file MessageBlobStore.php.

Referenced by getResourceLoader().

◆ $wanCache

WANObjectCache MessageBlobStore::$wanCache
protected

Definition at line 51 of file MessageBlobStore.php.

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


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