MediaWiki  master
MessageCacheUpdate.php
Go to the documentation of this file.
1 <?php
24 use Wikimedia\Assert\Assert;
25 
34  private $replacements = [];
35 
41  public function __construct( $code, $title, $msg ) {
42  $this->replacements[$code][] = [ $title, $msg ];
43  }
44 
45  public function merge( MergeableUpdate $update ) {
47  Assert::parameterType( __CLASS__, $update, '$update' );
48  '@phan-var self $update';
49 
50  foreach ( $update->replacements as $code => $messages ) {
51  $this->replacements[$code] = array_merge( $this->replacements[$code] ?? [], $messages );
52  }
53  }
54 
55  public function doUpdate() {
56  $messageCache = MediaWikiServices::getInstance()->getMessageCache();
57  foreach ( $this->replacements as $code => $replacements ) {
58  $messageCache->refreshAndReplaceInternal( $code, $replacements );
59  }
60  }
61 }
Service locator for MediaWiki core services.
Message cache purging and in-place update handler for specific message page changes.
merge(MergeableUpdate $update)
Merge this enqueued update with a new MergeableUpdate of the same qualified class name.
doUpdate()
Perform the actual work.
__construct( $code, $title, $msg)
Interface that deferrable updates should implement.
Interface that deferrable updates can implement to signal that updates can be combined.