MediaWiki REL1_37
ExternalStore.php
Go to the documentation of this file.
1<?php
7
58 public static function getStoreObject( $proto, array $params = [] ) {
59 try {
60 return MediaWikiServices::getInstance()
61 ->getExternalStoreFactory()
62 ->getStore( $proto, $params );
63 } catch ( ExternalStoreException $e ) {
64 return false;
65 }
66 }
67
77 public static function fetchFromURL( $url, array $params = [] ) {
78 try {
79 return MediaWikiServices::getInstance()
80 ->getExternalStoreAccess()
81 ->fetchFromURL( $url, $params );
82 } catch ( ExternalStoreException $e ) {
83 return false;
84 }
85 }
86
99 public static function insert( $url, $data, array $params = [] ) {
100 try {
101 $esFactory = MediaWikiServices::getInstance()->getExternalStoreFactory();
102 $location = $esFactory->getStoreLocationFromUrl( $url );
103
104 return $esFactory->getStoreForUrl( $url, $params )->store( $location, $data );
105 } catch ( ExternalStoreException $e ) {
106 return false;
107 }
108 }
109
119 public static function batchFetchFromURLs( array $urls ) {
120 return MediaWikiServices::getInstance()->getExternalStoreAccess()->fetchFromURLs( $urls );
121 }
122
135 public static function insertToDefault( $data, array $params = [] ) {
136 return MediaWikiServices::getInstance()->getExternalStoreAccess()->insert( $data, $params );
137 }
138
152 public static function insertWithFallback( array $tryStores, $data, array $params = [] ) {
153 return MediaWikiServices::getInstance()
154 ->getExternalStoreAccess()
155 ->insert( $data, $params, $tryStores );
156 }
157
165 public static function insertToForeignDefault( $data, $wiki ) {
166 return MediaWikiServices::getInstance()
167 ->getExternalStoreAccess()
168 ->insert( $data, [ 'domain' => $wiki ] );
169 }
170}
Constructor class for key/value blob data kept in external repositories.
static insertWithFallback(array $tryStores, $data, array $params=[])
Like insert() above, but does more of the work for us.
static fetchFromURL( $url, array $params=[])
Fetch data from given URL.
static insert( $url, $data, array $params=[])
Store a data item to an external store, identified by a partial URL The protocol part is used to iden...
static batchFetchFromURLs(array $urls)
Fetch data from multiple URLs with a minimum of round trips.
static insertToDefault( $data, array $params=[])
Like insert() above, but does more of the work for us.
static insertToForeignDefault( $data, $wiki)
static getStoreObject( $proto, array $params=[])
Get an external store object of the given type, with the given parameters.
MediaWikiServices is the service locator for the application scope of MediaWiki.