Después de mucho meditarlo no pude encontrar solución :P les dejo un problemita q tengo para ver si alguno se le ocurre algo
tengo una classe para administrar mi database SQL
con un método constructor para tomar los datos y hacer la conexión, hasta aquí todo bien, todo normal, el tema es que tengo un archivo de configuración. en donde defino unas constantes que serian por decirlo así la conexión por defecto a SQL
planteo aquí el ejemplo
entonces el metodo constructor quedaria asi
Código PHP:
Ver originalpublic function __construct($db_host = "", $db_user = "", $db_pass = "", $db_ddbb = ""){
$this->host = (!empty($db_host)) ?
$db_host : DBHOST
; $this->user = (!empty($db_user)) ?
$db_user : DBUSER
; $this->pass = (!empty($db_pass)) ?
$db_pass : DBPASS
; $this->ddbb = (!empty($db_ddbb)) ?
$db_ddbb : DBDDBB
; $this->conectar();
}
hasta aquí todo bien también
pruebas de ejemplo
Código PHP:
Ver original$db = new Database(); // conexión sin problemas
$db = new Database("","","","OtraBaseDeDatos"); // conexión sin problemas
$db = new Database("","OtroUser","OtraPass"); // conexión sin problemas
/* pero aqui o.O?
quiero cambiar el user a root, y sin password.
*/
$db = new Database("","root","");
Obviamente estoy enviando la variable vacía, así que el empty del método constructor lo filtra y me deja como contraseña de la db la asignada por la constante de mi archivo de configuración.
alguna idea de como mantener este algoritmo y dejarlo 100% funcional?
PD: soy pésimo explicando problemas, intente dejarlo lo mas claro posible.. cualquier duda comentan...
saludos