From: addshore Date: Sat, 7 May 2016 12:15:44 +0000 (+0100) Subject: Make GenderCache use MediaWikiServices X-Git-Tag: 1.31.0-rc.0~7028^2 X-Git-Url: http://git.cyclocoop.org/%22%20.%20generer_url_ecrire%28%22articles%22%2C%22id_article=%24ze_article%22%29%20.%20%22?a=commitdiff_plain;h=b85d9f33636c1602b7f5096644bcf5188de56ea4;p=lhc%2Fweb%2Fwiklou.git Make GenderCache use MediaWikiServices Change-Id: Id20310f78d938bdfa4d29ae483bb1a33bacd2b51 --- diff --git a/includes/MediaWikiServices.php b/includes/MediaWikiServices.php index 6c650aa641..d39b0dfc76 100644 --- a/includes/MediaWikiServices.php +++ b/includes/MediaWikiServices.php @@ -4,6 +4,7 @@ namespace MediaWiki; use Config; use ConfigFactory; use EventRelayerGroup; +use GenderCache; use GlobalVarConfig; use Hooks; use LBFactory; @@ -422,6 +423,14 @@ class MediaWikiServices extends ServiceContainer { return $this->getService( 'WatchedItemStore' ); } + /** + * @since 1.28 + * @return GenderCache + */ + public function getGenderCache() { + return $this->getService( 'GenderCache' ); + } + /////////////////////////////////////////////////////////////////////////// // NOTE: When adding a service getter here, don't forget to add a test // case for it in MediaWikiServicesTest::provideGetters() and in diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php index 8e95034195..e282bdaa44 100644 --- a/includes/ServiceWiring.php +++ b/includes/ServiceWiring.php @@ -139,6 +139,10 @@ return [ return $store; }, + 'GenderCache' => function( MediaWikiServices $services ) { + return new GenderCache(); + }, + /////////////////////////////////////////////////////////////////////////// // NOTE: When adding a service here, don't forget to add a getter function // in the MediaWikiServices class. The convenience getter should just call diff --git a/includes/cache/GenderCache.php b/includes/cache/GenderCache.php index 19695dfaf2..80f04ce621 100644 --- a/includes/cache/GenderCache.php +++ b/includes/cache/GenderCache.php @@ -21,6 +21,7 @@ * @author Niklas Laxström * @ingroup Cache */ +use MediaWiki\MediaWikiServices; /** * Caches user genders when needed to use correct namespace aliases. @@ -34,18 +35,11 @@ class GenderCache { protected $missLimit = 1000; /** + * @deprecated in 1.28 see MediaWikiServices::getInstance()->getGenderCache() * @return GenderCache */ public static function singleton() { - static $that = null; - if ( $that === null ) { - $that = new self(); - } - - return $that; - } - - protected function __construct() { + return MediaWikiServices::getInstance()->getGenderCache(); } /** diff --git a/tests/phpunit/includes/MediaWikiServicesTest.php b/tests/phpunit/includes/MediaWikiServicesTest.php index 6c38d503f7..4f917a5f5f 100644 --- a/tests/phpunit/includes/MediaWikiServicesTest.php +++ b/tests/phpunit/includes/MediaWikiServicesTest.php @@ -238,6 +238,7 @@ class MediaWikiServicesTest extends PHPUnit_Framework_TestCase { 'DBLoadBalancerFactory' => [ 'DBLoadBalancerFactory', 'LBFactory' ], 'DBLoadBalancer' => [ 'DBLoadBalancer', 'LoadBalancer' ], 'WatchedItemStore' => [ 'WatchedItemStore', WatchedItemStore::class ], + 'GenderCache' => [ 'GenderCache', GenderCache::class ], ]; }