Ver Mensaje Individual
  #32 (permalink)  
Antiguo 01/09/2010, 14:34
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
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.
No se como realizar la herencia de forma correcta, tengo una idea pero no está completa y mucho menos buena...

Código PHP:
Ver original
  1. class DB extends PDO {
  2.     private $_username;
  3.     private $_password;
  4.     private $_host;
  5.     private $_db;
  6.     private $_conexion;
  7.    
  8.     public function __construct($dsn,$username=null,$password=null,$driver_options=null)
  9.    {
  10.         $config_data = $config->getConfig();
  11.         $this->_username = $config_data['username'];
  12.         $this->_password = $config_data['password'];
  13.         $this->_host = $config_data['host'];
  14.         $this->_db = $config_data['db'];
  15.    
  16.       parent::__construct($dsn, $this->_username, $this->_password, $driver);
  17.    }
  18.  
  19. }

Si sirve de referencia tengo una herencia de otro post que funciona muy bien. ¿Se puede aprovechar?

Código PHP:
Ver original
  1. <?php
  2. /*
  3.     CLASE EXTENDIDA DE PDO para contar el número de consultas que se realizan
  4. */
  5. class CountPDO extends PDO
  6. {
  7.     private $_queryCount = 0;
  8.    
  9.     public function query()
  10.     {
  11.         $this->_increaseQueryCount();
  12.         $args = func_get_args();
  13.        
  14.         return call_user_func_array(array('parent', 'query'), $args);
  15.     }
  16.    
  17.     public function prepare($statement, $driver_options = array())
  18.     {
  19.         $this->_increaseQueryCount();
  20.         return parent::prepare($statement, $driver_options);
  21.     }
  22.    
  23.     private function _increaseQueryCount()
  24.     {
  25.         $this->_queryCount++;
  26.     }
  27.    
  28.     public function getQueryCount()
  29.     {
  30.         return $this->_queryCount;
  31.     }
  32.     public function ResetCount()
  33.     {
  34.         $this->_queryCount = 0;
  35.     }
  36. }
  37. ?>

Gracias de antemano