Ver Mensaje Individual
  #17 (permalink)  
Antiguo 31/08/2010, 16:18
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Duda con PDO y mi clase

Cita:
Iniciado por GatorV Ver Mensaje
El fichero db.php es solo un ejemplo, puedes usar directamente PDO y pasarle los datos, el ejemplo es a nivel teórico para que veas como funcionan las clases y como estan unidas.

Saludos.
Una duda que me ha quedado después de practicar estos días...

Si al último ejemplo expuesto, lo llamo de la siguiente manera:

Código PHP:
Ver original
  1. <?php
  2.  
  3. require('config_reader.php');
  4. require('db.php');
  5. require('registry.php');
  6.  
  7. $config = new Config('params.ini');
  8. $db = new db($config);
  9. Registry::save('db', $db);
  10. $db->Conectar();
  11. $db->Conectar();
  12. $db->Conectar();
  13.  
  14. ?>

Me muestra el mensaje "Connected to database" tantas veces como llame al metodo Conectar(), ¿es posible que esté duplicando conexiones a la base de datos?

Vuelvo a poner el método Conectar():

Código PHP:
Ver original
  1. public function Conectar(){
  2.         try {
  3.             $dbh = new PDO("mysql:host=$this->_host;dbname=$this->_db", $this->_username, $this->_password);
  4.             /*** echo a message saying we have connected ***/
  5.             echo 'Connected to database';
  6.         }
  7.         catch(PDOException $e){
  8.             echo $e->getMessage();
  9.         }
  10.     }

Debería entonces a parte del patrón Registry para cargar las variables de conexión a la base de datos, utilizar el patrón Singleton en mi clase db, tal y como estaba haciendo en un principio, para conseguir reutilizar la conexión existente y que no vaya creando conexiones cada vez que llamo al método Conectar()?

Gracias nuevamente por vuestra ayuda!