Cita:  
					Iniciado por GatorV 
  No, es incorrecto, por favor medita el ejemplo que te puse, al tu hacer esto:
   
Código PHP:
Ver originalfunction foo($bar) {
 
}
 
foo($bar = "");
  
El interprete de PHP ve primero la asignacion dentro del paréntesis $bar = "" y asigna a $bar un valor vacio, posterioremente llama a foo. 
Te recomiendo leas un libro de PHP básico para que entiendes como es que se tienen que llamar las funciones y como hacer el paso de parámetros. 
Saludos!
     
Creo que ahora te entiendo, precisamente, eso era lo que no me cuadraba, que tuviese que pasarle esos parametros:   
parent::__construct($dsn, $username="", $password="", $driver_options=array()); 
Sino mas bien los que toca que son ni mas ni menos que los que aparecen aqui, verdad?  
$this->_username = $config_data['username'];
$this->_password = $config_data['password'];
$this->_host = $config_data['host'];
$this->_db = $config_data['db']; 
Sin embargo, mi duda es que no se poner en su sitio la variable $dsn, segun el ejemplo de PDO debería tener esta forma  
'mysql:host=127.0.0.1;dbname=codelab' 
Debería hacerlo así, declarar una variable llamada $_dsn;  
$this->_$dsn="mysql:host=$this->_host;dbname=$this->_db";
 
parent::__construct($this->_$dsn, $this->_username, $this->_password); 
Mejor? :D