MediaWiki  1.34.0
DBAccessBase.php
Go to the documentation of this file.
1 <?php
2 
6 
34 abstract class DBAccessBase implements IDBAccessObject {
36  private $lb;
37 
39  protected $dbDomain = false;
40 
44  public function __construct( $dbDomain = false ) {
45  $this->dbDomain = $dbDomain;
46  $this->lb = MediaWikiServices::getInstance()->getDBLoadBalancerFactory()
47  ->getMainLB( $dbDomain );
48  }
49 
62  protected function getConnection( $id, array $groups = [] ) {
63  return $this->getLoadBalancer()->getConnectionRef( $id, $groups, $this->dbDomain );
64  }
65 
76  protected function releaseConnection( IDatabase $db ) {
77  // no-op
78  }
79 
89  protected function getLoadBalancer() {
90  return $this->lb;
91  }
92 }
MediaWiki\MediaWikiServices
MediaWikiServices is the service locator for the application scope of MediaWiki.
Definition: MediaWikiServices.php:117
DBAccessBase\$dbDomain
string bool $dbDomain
The target wiki's DB domain.
Definition: DBAccessBase.php:39
DBAccessBase\getConnection
getConnection( $id, array $groups=[])
Returns a database connection.
Definition: DBAccessBase.php:62
DBAccessBase\releaseConnection
releaseConnection(IDatabase $db)
Releases a database connection and makes it available for recycling.
Definition: DBAccessBase.php:76
IDBAccessObject
Interface for database access objects.
Definition: IDBAccessObject.php:55
Wikimedia\Rdbms\IDatabase
Basic database interface for live and lazy-loaded relation database handles.
Definition: IDatabase.php:38
DBAccessBase
Definition: DBAccessBase.php:34
DBAccessBase\$lb
ILoadBalancer $lb
Definition: DBAccessBase.php:36
DBAccessBase\__construct
__construct( $dbDomain=false)
Definition: DBAccessBase.php:44
DBAccessBase\getLoadBalancer
getLoadBalancer()
Get the database type used for read operations.
Definition: DBAccessBase.php:89
Wikimedia\Rdbms\ILoadBalancer
Database cluster connection, tracking, load balancing, and transaction manager interface.
Definition: ILoadBalancer.php:81