/** * Builds a Client based on the connections given. * * @return ClientInterface */ public function build() { $connectionManager = new ConnectionManager(); foreach ($this->config['connections'] as $alias => $conn) { $config = isset($this->config['connections'][$alias]['config']) ? $this->config['connections'][$alias]['config'] : Configuration::create()->withTimeout($this->getDefaultTimeout()); $connectionManager->registerConnection($alias, $conn['uri'], $config); if (isset($conn['is_master']) && $conn['is_master'] === true) { $connectionManager->setMaster($alias); } } $ev = null; if (isset($this->config['event_listeners'])) { $ev = new EventDispatcher(); foreach ($this->config['event_listeners'] as $k => $callbacks) { foreach ($callbacks as $callback) { $ev->addListener($k, $callback); } } } return new $this->config['client_class']($connectionManager, $ev); }
/** * @deprecated since 4.0 - will be removed in 5.0 - use <code>$client->run()</code> instead * * @param string $query * @param null|array $parameters * @param null|string $tag * @param null|string $connectionAlias * * @return \GraphAware\Common\Result\Result */ public function sendCypherQuery($query, $parameters = null, $tag = null, $connectionAlias = null) { return $this->connectionManager->getConnection($connectionAlias)->run($query, $parameters, $tag); }