8use InvalidArgumentException;
24 private $loadBalancer;
47 if ( !is_string( $domain ) && $domain !==
false ) {
48 throw new InvalidArgumentException(
'$dbName must be a string, or false.' );
51 $this->loadBalancer = $loadBalancer;
52 $this->domain = $domain;
53 $this->groups = $groups;
62 private function getConnection( $i, ?array $groups =
null,
int $flags = 0 ) {
63 $groups ??= $this->groups;
64 return $this->loadBalancer->getConnection( $i, $groups, $this->domain, $flags );
76 return $this->getConnection(
DB_PRIMARY,
null, $flags );
89 $groups ??= $this->groups;
90 return $this->getConnection(
DB_REPLICA, $groups, $flags );