예제 #1
0
 /**
  * Devuelve una objeto del tipo de base de datos correcto de acuerdo a los par�metros de configuraci�n
  * de la conexi�n especificada. Si el nombre es vac�o se devuelve la conexi�n por defecto.
  * 
  * @access public
  * @static
  * @param $name (string) nombre de la conexi�n a la base de datos
  * @return (object) objeto con la referencia a la a base de datos especificada
  */
 static function getConnection($name = '')
 {
     static $connections = array();
     if (empty($connections[$name])) {
         $params = ConnectionManager::getParams($name);
         // Buscar la implementaci�n seg�n el tipo de motor
         if ($params['driver'] == 'postgres') {
             $db = new DbPg();
         } else {
             if ($params['driver'] == 'mysql') {
                 $db = new DbMySql();
             } else {
                 if ($params['driver'] == 'odbc') {
                     $db = new DbODBC();
                 }
             }
         }
         if ($params) {
             $db->conectar($params['hostname'], $params['username'], $params['password'], $params['base']);
             $connections[$name] = $db;
         }
     }
     return $connections[$name];
 }