use MediaWiki\Services\ServiceContainer;
use SiteLookup;
use SiteStore;
+use SkinFactory;
/**
* Service locator for MediaWiki core services.
return $this->getService( 'SearchEngineConfig' );
}
+ /**
+ * @return SkinFactory
+ */
+ public function getSkinFactory() {
+ return $this->getService( 'SkinFactory' );
+ }
+
///////////////////////////////////////////////////////////////////////////
// NOTE: When adding a service getter here, don't forget to add a test
// case for it in MediaWikiServicesTest::provideGetters() and in
// Create a search engine config from main config.
$config = $services->getService( 'MainConfig' );
return new SearchEngineConfig( $config );
- }
+ },
+
+ 'SkinFactory' => function( MediaWikiServices $services ) {
+ return new SkinFactory();
+ },
///////////////////////////////////////////////////////////////////////////
// NOTE: When adding a service here, don't forget to add a getter function
* @file
*/
+use MediaWiki\MediaWikiServices;
+
/**
* Factory class to create Skin objects
*
private $displayNames = [];
/**
- * @var SkinFactory
+ * @deprecated in 1.27
+ * @return SkinFactory
*/
- private static $self;
-
public static function getDefaultInstance() {
- if ( !self::$self ) {
- self::$self = new self;
- }
-
- return self::$self;
+ return MediaWikiServices::getInstance()->getSkinFactory();
}
/**
'SearchEngine' => [ 'newSearchEngine', SearchEngine::class ],
'SearchEngineFactory' => [ 'getSearchEngineFactory', SearchEngineFactory::class ],
'SearchEngineConfig' => [ 'getSearchEngineConfig', SearchEngineConfig::class ],
+ 'SkinFactory' => [ 'getSkinFactory', SkinFactory::class ],
];
}
'EventRelayerGroup' => [ 'EventRelayerGroup', EventRelayerGroup::class ],
'SearchEngineFactory' => [ 'SearchEngineFactory', SearchEngineFactory::class ],
'SearchEngineConfig' => [ 'SearchEngineConfig', SearchEngineConfig::class ],
+ 'SkinFactory' => [ 'SkinFactory', SkinFactory::class ],
];
}