/** * Estable la conexion a la base de datos. * * Si no se indica valor para el parámetro $conection, se tomarán los valores * de la primera conexión definida en el archivo de configuración. De esta forma, y en el caso * de trabajar con una sola base de datos, no es necesario indicar el nombre de conexión para * cada tabla en el modelo de datos. * * En entorno de desarrollo los parámetros de conexión se fuerzan a: * * user = $conection * password= $conection * dataBase= $conection * * * Si la conexion es exitosa, getDblink() devolvera valor y si no getError() nos indica * el error producido. * * @param string $conection Nombre de la conexion, opcional */ public function __construct($conection) { $this->logErrorQueryFile = str_replace("bin" . DIRECTORY_SEPARATOR . "albatronic", "", __DIR__) . "log/error_query.log"; //$this->logErrorQueryFile = str_replace("bin\\albatronic", "", __DIR__) . "log/error_query.log"; $this->logQueryFile = str_replace("bin" . DIRECTORY_SEPARATOR . "albatronic", "", __DIR__) . "log/query.log"; //$this->logQueryFile = str_replace("bin\\albatronic", "", __DIR__) . "log/query.log"; if (is_array($conection)) { if (is_null(self::$dbLinkInstance) || self::$host !== $conection['host'] || self::$dataBase !== $conection['database']) { self::$dbEngine = $conection['dbEngine']; self::$host = $conection['host']; self::$user = $conection['user']; self::$password = $conection['password']; self::$dataBase = $conection['database']; $this->conecta(); } } else { if (!isset(self::$conection[$conection])) { if ($conection === '') { die("No se ha indicado el nombre de la conexión a la BD.\n"); } else { self::$conection[$conection] = $_SESSION['conections'][$conection]; } } self::$dbEngine = self::$conection[$conection]['dbEngine']; self::$host = self::$conection[$conection]['host']; self::$user = self::$conection[$conection]['user']; self::$password = self::$conection[$conection]['password']; self::$dataBase = self::$conection[$conection]['database']; if (is_null(self::$dbLinkInstance)) { $this->conecta(); } } }
/** * Estable la conexion a la base de datos. * Abre el fichero de configuracion '$fileConfig', o en su defecto config/config.yml * y lee el nodo $conection donde se definen los parametros de conexion. * * Si no se indica valor para el parámetro $conection, se tomarán los valores * de la primera conexión definida en el archivo de configuración. De esta forma, y en el caso * de trabajar con una sola base de datos, no es necesario indicar el nombre de conexión para * cada tabla en el modelo de datos. * * En entorno de desarrollo los parámetros de conexión se fuerzan a: * * user = $conection * password= $conection * dataBase= $conection * * * Si la conexion es exitosa, getDblink() devolvera valor y si no getError() nos indica * el error producido. * * @param string $conection Nombre de la conexion, opcional * @param string $fileConfig Nombre del fichero de configuracion, opcional */ public function __construct($conection, $fileConfig = '') { $this->logErrorQueryFile = str_replace("bin/albatronic", "", __DIR__) . "log/error_query.log"; $this->logQueryFile = str_replace("bin/albatronic", "", __DIR__) . "log/query.log"; if (is_array($conection)) { if (is_null(self::$dbLinkInstance) || self::$host !== $conection['host'] || self::$dataBase !== $conection['database']) { self::$dbEngine = $conection['dbEngine']; self::$host = $conection['host']; self::$user = $conection['user']; self::$password = $conection['password']; self::$dataBase = $conection['database']; $this->conecta(); } } else { if (!isset(self::$conection[$conection])) { if ($fileConfig == '') { //$fileConfig = $_SERVER['DOCUMENT_ROOT'] . $_SESSION['appPath'] . "/" . $this->file; $fileConfig = str_replace("bin/albatronic", "", __DIR__) . $this->file; } if (file_exists($fileConfig)) { //echo "busco config {$conection}<br/>"; $yaml = sfYaml::load($fileConfig); // Si no se ha indicado el nombre de la conexión, se tomara la primera //if ($conection == '') // list($conection, $nada) = each($yaml['config']['conections']); self::$conection[$conection] = $yaml['config']['conections'][$conection]; } else { die("EntityManager []: ERROR AL LEER EL ARCHIVO DE CONFIGURACION. " . $fileConfig . " NO EXISTE\n"); } } self::$dbEngine = self::$conection[$conection]['dbEngine']; self::$host = self::$conection[$conection]['host']; self::$user = self::$conection[$conection]['user']; self::$password = self::$conection[$conection]['password']; self::$dataBase = self::$conection[$conection]['database']; if (is_null(self::$dbLinkInstance)) { $this->conecta(); } } }