MediaWiki master
BlockUtilsFactory.php
Go to the documentation of this file.
1<?php
2
22namespace MediaWiki\Block;
23
28
37
39 private $options;
40
42 private $actorStoreFactory;
43
45 private $userNameUtils;
46
48 private $storeCache;
49
51 private $loadBalancerFactory;
52
59 public function __construct(
60 ServiceOptions $options,
61 ActorStoreFactory $actorStoreFactory,
62 UserNameUtils $userNameUtils,
63 LBFactory $loadBalancerFactory
64 ) {
65 $options->assertRequiredOptions( self::CONSTRUCTOR_OPTIONS );
66
67 $this->options = $options;
68 $this->actorStoreFactory = $actorStoreFactory;
69 $this->userNameUtils = $userNameUtils;
70 $this->loadBalancerFactory = $loadBalancerFactory;
71 }
72
77 public function getBlockUtils( $wikiId = Block::LOCAL ): BlockUtils {
78 if ( is_string( $wikiId ) && $this->loadBalancerFactory->getLocalDomainID() === $wikiId ) {
79 $wikiId = Block::LOCAL;
80 }
81
82 $storeCacheKey = $wikiId === Block::LOCAL ? 'LOCAL' : 'crosswikistore-' . $wikiId;
83 if ( !isset( $this->storeCache[$storeCacheKey] ) ) {
84 $this->storeCache[$storeCacheKey] = new BlockUtils(
85 $this->options,
86 $this->actorStoreFactory->getUserIdentityLookup( $wikiId ),
87 $this->userNameUtils,
88 $wikiId
89 );
90 }
91 return $this->storeCache[$storeCacheKey];
92 }
93}
if(!defined('MW_SETUP_CALLBACK'))
Definition WebStart.php:81
__construct(ServiceOptions $options, ActorStoreFactory $actorStoreFactory, UserNameUtils $userNameUtils, LBFactory $loadBalancerFactory)
Backend class for blocking utils.
A class for passing options to services.
assertRequiredOptions(array $expectedKeys)
Assert that the list of options provided in this instance exactly match $expectedKeys,...
UserNameUtils service.