public function register(BaseApp $app) { $app['db.client'] = $app->share(function () use($app) { return new \MongoClient(sprintf("mongodb://%s:%s", $app['mongodb.host'], 27017)); }); $app['db'] = $app->share(function () use($app) { $default = $app['db.name'] ? $app['db.name'] : 'some-name'; $db = new Database($app['db.client']->selectDB($default)); $db->setMapping($app['db.mapping']); return $db; }); }