/** * @covers ObjectFactory::constructClassInstance * @expectedException InvalidArgumentException */ public function testNamedArgs() { $args = ['foo' => 1, 'bar' => 2, 'baz' => 3]; $obj = ObjectFactory::constructClassInstance('ObjectFactoryTestFixture', $args); }
/** * @covers ObjectFactory::constructClassInstance * @dataProvider provideConstructClassInstance */ public function testConstructClassInstance($args) { $obj = ObjectFactory::constructClassInstance('ObjectFactoryTestFixture', $args); $this->assertSame($args, $obj->args); }
/** * Construct a HTMLForm object for given display type. May return a HTMLForm subclass. * * @param string $displayFormat * @param mixed $arguments... Additional arguments to pass to the constructor. * @return HTMLForm */ public static function factory($displayFormat) { $arguments = func_get_args(); array_shift($arguments); switch ($displayFormat) { case 'vform': return ObjectFactory::constructClassInstance(VFormHTMLForm::class, $arguments); case 'ooui': return ObjectFactory::constructClassInstance(OOUIHTMLForm::class, $arguments); default: /** @var HTMLForm $form */ $form = ObjectFactory::constructClassInstance(HTMLForm::class, $arguments); $form->setDisplayFormat($displayFormat); return $form; } }
// Setup salt cache. Use APC, or fallback to the main cache if it isn't setup $cache = $services->getLocalServerObjectCache(); if ($cache instanceof EmptyBagOStuff) { $cache = ObjectCache::getLocalClusterInstance(); } return new CryptHKDF($secret, $config->get('HKDFAlgorithm'), $cache, $context, $services->getCryptRand()); }, 'MediaHandlerFactory' => function (MediaWikiServices $services) { return new MediaHandlerFactory($services->getMainConfig()->get('MediaHandlers')); }, 'MimeAnalyzer' => function (MediaWikiServices $services) { return new MimeMagic(MimeMagic::applyDefaultParameters([], $services->getMainConfig())); }, 'ProxyLookup' => function (MediaWikiServices $services) { $mainConfig = $services->getMainConfig(); return new ProxyLookup($mainConfig->get('SquidServers'), $mainConfig->get('SquidServersNoPurge')); }, 'Parser' => function (MediaWikiServices $services) { $conf = $services->getMainConfig()->get('ParserConf'); return ObjectFactory::constructClassInstance($conf['class'], [$conf]); }, 'LinkCache' => function (MediaWikiServices $services) { return new LinkCache($services->getTitleFormatter(), ObjectCache::getMainWANInstance()); }, 'LinkRendererFactory' => function (MediaWikiServices $services) { return new LinkRendererFactory($services->getTitleFormatter(), $services->getLinkCache()); }, 'LinkRenderer' => function (MediaWikiServices $services) { global $wgUser; if (defined('MW_NO_SESSION')) { return $services->getLinkRendererFactory()->create(); } else { return $services->getLinkRendererFactory()->createForUser($wgUser); } }, 'GenderCache' => function (MediaWikiServices $services) { return new GenderCache(); }, '_MediaWikiTitleCodec' => function (MediaWikiServices $services) { global $wgContLang;