* MediaWiki code base.
*/
+use Liuggio\StatsdClient\Factory\StatsdDataFactoryInterface;
use MediaWiki\Auth\AuthManager;
use MediaWiki\Config\ConfigRepository;
use MediaWiki\Interwiki\ClassicInterwikiLookup;
use MediaWiki\Preferences\PreferencesFactory;
use MediaWiki\Preferences\DefaultPreferencesFactory;
use MediaWiki\Shell\CommandFactory;
+use MediaWiki\Special\SpecialPageFactory;
use MediaWiki\Storage\BlobStore;
use MediaWiki\Storage\BlobStoreFactory;
use MediaWiki\Storage\NameTableStore;
use MediaWiki\Storage\RevisionStore;
use MediaWiki\Storage\RevisionStoreFactory;
use MediaWiki\Storage\SqlBlobStore;
-use Wikimedia\ObjectFactory;
return [
'ActorMigration' => function ( MediaWikiServices $services ) : ActorMigration {
},
'Parser' => function ( MediaWikiServices $services ) : Parser {
- $conf = $services->getMainConfig()->get( 'ParserConf' );
- return ObjectFactory::constructClassInstance( $conf['class'],
- [ $conf, $services->getMagicWordFactory() ] );
+ return $services->getParserFactory()->create();
},
'ParserCache' => function ( MediaWikiServices $services ) : ParserCache {
);
},
+ 'ParserFactory' => function ( MediaWikiServices $services ) : ParserFactory {
+ return new ParserFactory(
+ $services->getMainConfig()->get( 'ParserConf' ),
+ $services->getMagicWordFactory(),
+ $services->getContentLanguage(),
+ wfUrlProtocols(),
+ $services->getSpecialPageFactory()
+ );
+ },
+
'PasswordFactory' => function ( MediaWikiServices $services ) : PasswordFactory {
$config = $services->getMainConfig();
return new PasswordFactory(
},
'PerDbNameStatsdDataFactory' =>
- function ( MediaWikiServices $services ) : IBufferingStatsdDataFactory {
+ function ( MediaWikiServices $services ) : StatsdDataFactoryInterface {
$config = $services->getMainConfig();
$wiki = $config->get( 'DBname' );
- return new BufferingStatsdDataFactory(
- rtrim( $services->getMainConfig()->get( 'StatsdMetricPrefix' ), '.' ) . '.' . $wiki
+ return new PrefixingStatsdDataFactoryProxy(
+ $services->getStatsdDataFactory(),
+ $wiki
);
},
'PreferencesFactory' => function ( MediaWikiServices $services ) : PreferencesFactory {
- $authManager = AuthManager::singleton();
- $linkRenderer = $services->getLinkRendererFactory()->create();
- $config = $services->getMainConfig();
- $factory = new DefaultPreferencesFactory( $config, $services->getContentLanguage(),
- $authManager, $linkRenderer );
+ $factory = new DefaultPreferencesFactory(
+ $services->getMainConfig(),
+ $services->getContentLanguage(),
+ AuthManager::singleton(),
+ $services->getLinkRendererFactory()->create()
+ );
$factory->setLogger( LoggerFactory::getInstance( 'preferences' ) );
return $factory;
);
},
+ 'SpecialPageFactory' => function ( MediaWikiServices $services ) : SpecialPageFactory {
+ return new SpecialPageFactory(
+ $services->getMainConfig(),
+ $services->getContentLanguage()
+ );
+ },
+
'StatsdDataFactory' => function ( MediaWikiServices $services ) : IBufferingStatsdDataFactory {
return new BufferingStatsdDataFactory(
rtrim( $services->getMainConfig()->get( 'StatsdMetricPrefix' ), '.' )
return new MediaWikiTitleCodec(
$services->getContentLanguage(),
$services->getGenderCache(),
- $services->getMainConfig()->get( 'LocalInterwikis' )
+ $services->getMainConfig()->get( 'LocalInterwikis' ),
+ $services->getInterwikiLookup()
);
},