Пример #1
0
 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);
         }
     }
 }
Пример #2
0
 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);
     }
 }