Ver Mensaje Individual
  #58 (permalink)  
Antiguo 05/09/2010, 09:35
atrianaster
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Duda con PDO y mi clase

Cita:
Iniciado por GatorV Ver Mensaje
Porque no mejor heredas tu clase Db de la clase de PDO y te quitas así los problemas de usar return ya que a la hora de en tu constructor regresar otro objeto no se puede.

Saludos.

Si te retorna la instancia PDO dentro del constructor de la clase, pero como un atributo privado.

Código PHP:
Ver original
  1. require('config_reader.php');
  2. require('db.php');
  3. require('registry.php');
  4.  
  5. $config = new Config('params.ini');
  6.  
  7. $db_slave = new db($config);
  8. echo '<pre>'; var_dump($db_slave); echo '</pre>'; exit();

Esto imprimiría:

Connected to database

Código PHP:
Ver original
  1. object(db)#2 (5) {
  2.  ["_username":"db":private]=>
  3.   string(4) "root"
  4.   ["_password":"db":private]=>
  5.   string(12) "jupiter"
  6.   ["_host":"db":private]=>
  7.   string(9) "localhost"
  8.   ["_db":"db":private]=>
  9.   string(6) "codelab"
  10.   ["_conexion":"db":private]=>
  11.   object(PDO)#3 (0) {
  12.  }
  13. }

Por lo que tendrías que tener un método publico getConexion por ejemplo que te devuelva la instancia de PDO en vivo y poder utilizar posteriormente todos los métodos de PDO.

Aunque como dice GatorV es mejor heredar de PDO directamente.