Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 26 |
n/a |
0 / 0 |
CRAP | n/a |
0 / 0 |
1 | <?php |
2 | |
3 | use MediaWiki\Config\ConfigException; |
4 | use MediaWiki\Extension\Phonos\Engine\EngineInterface; |
5 | use MediaWiki\Extension\Phonos\Wikibase\WikibaseEntityAndLexemeFetcher; |
6 | use MediaWiki\MediaWikiServices; |
7 | |
8 | /** @phpcs-require-sorted-array */ |
9 | return [ |
10 | 'Phonos.Engine' => static function ( MediaWikiServices $services ): EngineInterface { |
11 | $config = $services->getMainConfig(); |
12 | $engineName = ucfirst( $config->get( 'PhonosEngine' ) ); |
13 | $className = '\\MediaWiki\\Extension\\Phonos\\Engine\\' . $engineName . 'Engine'; |
14 | if ( !class_exists( $className ) ) { |
15 | throw new ConfigException( "$engineName is not a valid engine" ); |
16 | } |
17 | return new $className( |
18 | $services->getHttpRequestFactory(), |
19 | $services->getShellCommandFactory(), |
20 | $services->getFileBackendGroup(), |
21 | $services->getMainObjectStash(), |
22 | $services->getMainWANObjectCache(), |
23 | $services->getContentLanguage(), |
24 | $config |
25 | ); |
26 | }, |
27 | 'Phonos.Wikibase' => static function ( MediaWikiServices $services ): WikibaseEntityAndLexemeFetcher { |
28 | return new WikibaseEntityAndLexemeFetcher( |
29 | $services->getHttpRequestFactory(), |
30 | $services->getRepoGroup(), |
31 | $services->getMainWANObjectCache(), |
32 | $services->getMainConfig() |
33 | ); |
34 | }, |
35 | ]; |