MediaWiki  master
DBAccessBase.php
Go to the documentation of this file.
1 <?php
2 
6 
35 abstract class DBAccessBase implements IDBAccessObject {
37  private $lb;
38 
40  protected $dbDomain = false;
41 
47  public function __construct( $dbDomain = false ) {
48  $this->dbDomain = $dbDomain;
49  $this->lb = MediaWikiServices::getInstance()->getDBLoadBalancerFactory()
50  ->getMainLB( $dbDomain );
51  }
52 
65  protected function getConnection( $id, array $groups = [] ) {
66  return $this->getLoadBalancer()->getConnectionRef( $id, $groups, $this->dbDomain );
67  }
68 
79  protected function releaseConnection( IDatabase $db ) {
80  // no-op
81  }
82 
92  protected function getLoadBalancer() {
93  return $this->lb;
94  }
95 }
MediaWiki\MediaWikiServices
MediaWikiServices is the service locator for the application scope of MediaWiki.
Definition: MediaWikiServices.php:160
DBAccessBase\$dbDomain
string bool $dbDomain
The target wiki's DB domain.
Definition: DBAccessBase.php:40
DBAccessBase\getConnection
getConnection( $id, array $groups=[])
Returns a database connection.
Definition: DBAccessBase.php:65
DBAccessBase\releaseConnection
releaseConnection(IDatabase $db)
Releases a database connection and makes it available for recycling.
Definition: DBAccessBase.php:79
IDBAccessObject
Interface for database access objects.
Definition: IDBAccessObject.php:57
Wikimedia\Rdbms\IDatabase
Basic database interface for live and lazy-loaded relation database handles.
Definition: IDatabase.php:38
DBAccessBase
Definition: DBAccessBase.php:35
DBAccessBase\$lb
ILoadBalancer $lb
Definition: DBAccessBase.php:37
DBAccessBase\__construct
__construct( $dbDomain=false)
Stable to call.
Definition: DBAccessBase.php:47
DBAccessBase\getLoadBalancer
getLoadBalancer()
Get the database type used for read operations.
Definition: DBAccessBase.php:92
Wikimedia\Rdbms\ILoadBalancer
Database cluster connection, tracking, load balancing, and transaction manager interface.
Definition: ILoadBalancer.php:81