Gestion download au travers de premiumizeme
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

60 lines
1.4 KiB

<?php
// TODO: il faut cacher les erreurs de connexions à la base !!!
/**
* Singleton permettant de gerer les connexions a la BDD Mongo.
*/
class DbMongo
{
/**
* Contient l'instance unique de Db.
*
* @var Db
*/
private static $_instance;
/**
* Contient la connexion pre-creer a la base.
*
* @var MongoDb
*/
private $_db;
/**
* Empeche la création externe d'instances.
*/
private function __construct()
{
$conn = new MongoClient('mongodb://'.DB_RWUSER.':'.DB_RWPASS.'@'.DB_SERVER.'/'.DB_COLL);
/*
* C'est moche, mais si l'on met DB_COLL directement a la ligne suivante,
* PHP essaye d'acceder a la db $conn->DB_COLL.
*/
$tmp = DB_COLL;
$this->_db = $conn->$tmp;
}
/**
* Renvoi de l'instance et initialisation si nécessaire.
* private car pas de raison de vouloir l'instance.
*
* @return Db instance unique de Db
*/
private static function _getInstance()
{
if (!(self::$_instance instanceof self)) {
self::$_instance = new self();
}
return self::$_instance;
}
/**
* Retourne un objet PDO representant la connexion.
*
* @return PDO instance unique de PDO lie a la base de donnees
*/
public static function get()
{
return self::_getInstance()->_db;
}
}
?>