private function __construct() { $bases = Sfphp_Config::get('bases'); foreach ($bases as $nombre => $base) { try { if (!isset($base["charset"])) { $base["charset"] = "utf8"; } $parametros = array(); if ($base["type"] == "mysql") { $parametros = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES ' . $base["charset"]); } else { $parametros = array(); } switch ($base["type"]) { case 'sqlsrv': $this->{$nombre} = new PDO($base["type"] . ":Server=" . $base["host"] . ";", $base["user"], Sfphp::decrypt($base["password"]), $parametros); break; case 'mysql': $this->{$nombre} = new PDO($base["type"] . ":host=" . $base["host"] . ";dbname=" . $base["dbname"], $base["user"], Sfphp::decrypt($base["password"]), $parametros); break; case 'firebird': $parametros = array(PDO::FB_ATTR_TIMESTAMP_FORMAT, "%d-%m-%Y", PDO::FB_ATTR_DATE_FORMAT, "%d-%m-%Y"); $this->{$nombre} = new PDO($base["type"] . ":dbname=" . $base["host"] . $base["dbname"], $base["user"], Sfphp::decrypt($base["password"]), $parametros); break; default: $this->{$nombre} = new PDO($base["type"] . ":host=" . $base["host"] . ";dbname=" . $base["dbname"], $base["user"], Sfphp::decrypt($base["password"])); break; } } catch (PDOException $e) { Sfphp_Logs::procesa($e); } } }
private function __construct($configuracion = "default") { $base = Sfphp_Config::get('bases'); $base = $base[$configuracion]; self::$origen = $configuracion; try { if (!isset($base["charset"])) { $base["charset"] = "utf8"; } $parametros = array(); switch ($base["type"]) { case 'sqlsrv': self::$conexion = new PDO($base["type"] . ":Server=" . $base["host"] . ";", $base["user"], Sfphp::decrypt($base["password"]), $parametros); break; case 'mysql': array_push($parametros, array(PDO::MYSQL_ATTR_COMPRESS => TRUE, PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES ' . $base["charset"])); self::$conexion = new PDO($base["type"] . ":host=" . $base["host"] . ";dbname=" . $base["dbname"], $base["user"], Sfphp::decrypt($base["password"]), $parametros); break; case 'firebird': array_push($parametros, array(PDO::FB_ATTR_TIMESTAMP_FORMAT => "%d-%m-%Y", PDO::FB_ATTR_DATE_FORMAT => "%d-%m-%Y")); self::$conexion = new PDO($base["type"] . ":dbname=" . $base["host"] . $base["dbname"], $base["user"], Sfphp::decrypt($base["password"]), $parametros); break; default: self::$conexion = new PDO($base["type"] . ":host=" . $base["host"] . ";dbname=" . $base["dbname"], $base["user"], Sfphp::decrypt($base["password"])); break; } } catch (PDOException $e) { trigger_error($e->getMessage(), E_USER_ERROR); } }