/** * Returns edmsMongo connection instance if not exists will create new * * @return edmsMongo * @throws EMongoException * @since v1.0 */ public function getMongo() { if (!isset(self::$_mongo)) { try { if (empty($this->dbName)) { throw new EDMSException('No database configured'); } //remove keys with null values $options = array(); foreach ($this->options as $key => $value) { if (isset($value)) { $options[$key] = $value; } } if (!isset($this->server)) { $this->server = 'mongodb://localhost:27017'; } self::$_mongo = new Mongo($this->server, $options); } catch (MongoConnectionException $e) { throw new EDMSException('Failed to create class edmsMongo: ' . $e->getMessage()); } } return self::$_mongo; }