Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/02/2010, 13:06
Hidek1
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Pregunta Parametro en blanco? vacio? mm problema de filtrado.

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

Código PHP:
Ver original
  1. define('DBHOST','localhost');
  2. define('DBUSER','user');
  3. define('DBPASS','pass');
  4. define('DBDDBB','nombre_db');


entonces el metodo constructor quedaria asi

Código PHP:
Ver original
  1. public function __construct($db_host = "", $db_user = "", $db_pass = "", $db_ddbb = ""){
  2.         $this->host = (!empty($db_host)) ? $db_host : DBHOST;
  3.         $this->user = (!empty($db_user)) ? $db_user : DBUSER;
  4.         $this->pass = (!empty($db_pass)) ? $db_pass : DBPASS;
  5.         $this->ddbb = (!empty($db_ddbb)) ? $db_ddbb : DBDDBB;
  6.         $this->conectar();
  7.     }


hasta aquí todo bien también

pruebas de ejemplo

Código PHP:
Ver original
  1. $db = new Database(); // conexión sin problemas
  2. $db = new Database("","","","OtraBaseDeDatos");  // conexión sin problemas
  3. $db = new Database("","OtroUser","OtraPass"); // conexión sin problemas
  4. /* pero aqui o.O?
  5.     quiero cambiar el user a root, y sin password.
  6. */
  7. $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
__________________
More about me...
~ @rhyudek1
~ Github