public static getWriteConnection ( string $connectionGroupName = 'default' ) : Shanty_Mongo_Connection | ||
$connectionGroupName | string | The connection group name |
리턴 | Shanty_Mongo_Connection |
public static function getWriteConnection($connectionGroupName = 'default')
{
$connectionGroup = static::getConnectionGroup($connectionGroupName);
if ($connectionGroupName == 'default' && count($connectionGroup->getMasters()) === 0) {
// Add a connection to localhost if no connections currently exist for the default connection group
$connectionGroup->addMaster(new Shanty_Mongo_Connection('127.0.0.1'));
}
if (!($connection = $connectionGroup->getWriteConnection($connectionGroupName))) {
require_once 'Shanty/Mongo/Exception.php';
throw new Shanty_Mongo_Exception("No write connection available for the '{$connectionGroupName}' connection group");
}
return $connection;
}
/** * @depends testAddSlave */ public function testGetReadConnection() { $connection = Shanty_Mongo::getReadConnection(); $this->assertNotNull($connection); $this->assertEquals($connection, Shanty_Mongo::getWriteConnection()); $connectionInfo = $connection->getConnectionInfo(); $this->assertEquals('127.0.0.1', $connectionInfo['connectionString']); Shanty_Mongo::removeConnectionGroups(); $connection = $this->getMock('Shanty_Mongo_Connection'); Shanty_Mongo::addSlave($connection); $this->assertEquals($connection, Shanty_Mongo::getReadConnection()); Shanty_Mongo::removeConnectionGroups(); $connection = $this->getMock('Shanty_Mongo_Connection'); Shanty_Mongo::addSlave($connection, 1, 'users'); $this->assertEquals($connection, Shanty_Mongo::getReadConnection('users')); }