/** * @param string $type * * @return PhpOrient * @throws \Exception */ protected function createClient($type = '') { $config = static::getConfig($type); $client = new PhpOrient(); $client->configure(array('username' => $config['username'], 'password' => $config['password'], 'hostname' => $config['hostname'], 'port' => $config['port'])); return $client; }
public function createConnection() { $client = new PhpOrient(); $client->configure(['username' => $this->getUsername(), 'password' => $this->getPassword(), 'hostname' => $this->getHostname(), 'port' => $this->getPort()]); $client->connect(); $client->dbOpen($this->getDatabase(), $this->getUsername(), $this->getPassword()); return $client; }
protected function createDBConnection() { $client = new PhpOrient(); $client->configure(['username' => 'root', 'password' => '369', 'hostname' => 'localhost', 'port' => 2424]); $client->connect(); $client->dbOpen('logistics'); return $client; }
/** * */ public function testLinkSetCreation() { $config = static::getConfig('connect'); $client = new PhpOrient('localhost', 2424); $client->configure(array('username' => $config['username'], 'password' => $config['password'])); $client->connect(); $this->skipTestByOrientDBVersion(['2.1.3', '2.0.13', '1.7.10']); try { $client->dbDrop('temp', Constants::STORAGE_TYPE_MEMORY); } catch (\Exception $e) { // echo $e->getMessage(); $client->getTransport()->debug($e->getMessage()); } $client->dbCreate('temp', Constants::STORAGE_TYPE_MEMORY, Constants::DATABASE_TYPE_DOCUMENT); $client->dbOpen('temp'); $client->sqlBatch('create class Test1;' . 'create property Test1.aString string;' . 'insert into Test1 (aString) VALUES ("b"),("c"),("d");' . 'create class Test2;' . 'create property Test2.aString string;' . 'create property Test2.anEmbeddedSetOfString embeddedset string;' . 'create property Test2.aLinkedSetOfTest1 linkset Test1;'); $clusterTest1 = $client->query("select classes[name='Test1'].defaultClusterId from 0:1", -1)[0]['classes']; $clusterTest2 = $client->query("select classes[name='Test2'].defaultClusterId from 0:1", -1)[0]['classes']; if ($client->getTransport()->getProtocolVersion() < 30) { $this->assertEquals('9', $clusterTest1); $this->assertEquals('10', $clusterTest2); } else { $this->assertEquals('11', $clusterTest1); $this->assertEquals('12', $clusterTest2); } $newRecord = ['oClass' => 'Test2', 'oData' => ['aString' => 'Test record', 'anEmbeddedSetOfString' => ['something 1', 'something 2', 'more other'], 'aLinkedSetOfTest1' => [new ID($clusterTest1, 1), new ID($clusterTest1, 2)]]]; $newRecordObject = Record::fromConfig($newRecord); $newRecordObject->setRid(new ID($clusterTest2)); $tmp = $client->recordCreate($newRecordObject); $this->assertInstanceOf('\\PhpOrient\\Protocols\\Binary\\Data\\Record', $tmp); /** * @var \PhpOrient\Protocols\Binary\Data\Record $record */ $record = $client->recordLoad($tmp->getRid())[0]; $this->assertEquals('Test record', $record->aString); $this->assertArrayHasKey(0, $record->anEmbeddedSetOfString); $this->assertArrayHasKey(1, $record->anEmbeddedSetOfString); $this->assertArrayHasKey(2, $record->anEmbeddedSetOfString); $this->assertEquals('something 1', $record->anEmbeddedSetOfString[0]); $this->assertEquals('something 2', $record->anEmbeddedSetOfString[1]); $this->assertEquals('more other', $record->anEmbeddedSetOfString[2]); $this->assertArrayHasKey(0, $record->aLinkedSetOfTest1); $this->assertArrayHasKey(1, $record->aLinkedSetOfTest1); $this->assertInstanceOf('\\PhpOrient\\Protocols\\Binary\\Data\\ID', $record->aLinkedSetOfTest1[0]); $this->assertInstanceOf('\\PhpOrient\\Protocols\\Binary\\Data\\ID', $record->aLinkedSetOfTest1[1]); $aLinkedSetOfTest1 = $record->aLinkedSetOfTest1; /** * @var \PhpOrient\Protocols\Binary\Data\ID[] $aLinkedSetOfTest1 */ if ($client->getTransport()->getProtocolVersion() < 30) { $this->assertEquals('#9:1', $aLinkedSetOfTest1[0]->jsonSerialize()); $this->assertEquals('#9:2', $aLinkedSetOfTest1[1]->__toString()); } else { $this->assertEquals('#11:1', $aLinkedSetOfTest1[0]->jsonSerialize()); $this->assertEquals('#11:2', $aLinkedSetOfTest1[1]->__toString()); } }
/** * Creates the client connection instance. * This method is called by [[open]] to establish a DB connection. * The default implementation will create a PhpOrient instance. * You may override this method if the default client needs to be adapted for certain DBMS. * @return client the pdo instance */ public function createClientInstance() { $client = new PhpOrient(); $client->configure(['username' => $this->username, 'password' => $this->password, 'hostname' => $this->hostname, 'port' => $this->port]); $client->connect(); $client->dbOpen($this->dbname); return $client; }