Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

PHP OO Varias Clases reciban la conexión PDO

Estas en el tema de Varias Clases reciban la conexión PDO en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buen día compañeros del foro. El problema es que tengo una serie de clases.. En la primera clase tengo la conexión a la base de ...
  #1 (permalink)  
Antiguo 24/09/2011, 00:40
Avatar de arepavieja  
Fecha de Ingreso: marzo-2011
Mensajes: 207
Antigüedad: 13 años, 1 mes
Puntos: 9
Información Varias Clases reciban la conexión PDO

Buen día compañeros del foro.
El problema es que tengo una serie de clases..

En la primera clase tengo la conexión a la base de datos..

y en las demás clases otros métodos necesarios. Y en estas es dónde no puedo hacer que se cumplan las sentencias, porque me dicen que no tengo ninguna conexión a la base de datos. Por ejemplo:

Esta es la clase conexión:
Código PHP:
Ver original
  1. class Conexion
  2. {
  3.     public $conex;
  4.     private $host;
  5.     private $db;
  6.     private $usr;
  7.     private $pwd;
  8.    
  9.     public function __construct()
  10.     {
  11.         $this->host = "localhost";
  12.         $this->db = "base";
  13.         $this->usr = "base";
  14.         $this->pwd = "base";
  15.         $this->conex = new PDO ("mysql:host=$this->host;dbname=$this->db","$this->usr","$this->pwd");
  16.     }
  17. }

Esta es la que da error. No sé si sea por herencia u otra cosa.. Necesito su ayuda. Muchas gracias de antemano.
Código PHP:
Ver original
  1. class Prueba
  2. {
  3. public function comprobar_conexion()
  4.     {
  5.         try
  6.         {
  7.             foreach($this->conex->query("select * from usuario") as $row)
  8.             {
  9.                 print_r($row);
  10.             }
  11.         } catch (PDOException $e)
  12.         {
  13.             print "Error ". $e->getMessage(). "<br>";
  14.             die();
  15.         }
  16.     }
  17. }
__________________
La educación y la cortesía abren todas las puertas.

Última edición por arepavieja; 24/09/2011 a las 01:05
  #2 (permalink)  
Antiguo 24/09/2011, 06:21
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Varias Clases reciban la conexión PDO

¿Donde declaras conex en la clase de Prueba?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 24/09/2011, 09:58
Avatar de arepavieja  
Fecha de Ingreso: marzo-2011
Mensajes: 207
Antigüedad: 13 años, 1 mes
Puntos: 9
Respuesta: Varias Clases reciban la conexión PDO

En ningún lado, no sé como declarla, es decir, crear una instancia de Conexion, o hacer una herencia, por herencia si me sirve, pero no estoy seguro de que sea la mejor manera, porque tendría que heredarla en todas las otras clases.

Gracias abimaelrc
__________________
La educación y la cortesía abren todas las puertas.
  #4 (permalink)  
Antiguo 24/09/2011, 10:13
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Varias Clases reciban la conexión PDO

crea una instancia de tu clase Conexion en tu clase que la vas a utilizar.
Código PHP:
Ver original
  1. require ("conexion.php");
  2. class Foo {
  3.     private $db;
  4.     public function __construct() {
  5.         $this->db = new Conexion();
  6.     }
  7. }
y ahí tienes ya tu instancia, de todas maneras en el foro hay varias implementaciones de este tipo de clase de conexion con PDO, has una busqueda para que te guies, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 24/09/2011, 10:32
Avatar de arepavieja  
Fecha de Ingreso: marzo-2011
Mensajes: 207
Antigüedad: 13 años, 1 mes
Puntos: 9
Respuesta: Varias Clases reciban la conexión PDO

Funciona perfecto. Muchas Gracias. Y pues anoche estuve viendo varios casos, pero ninguno me resultó o no supe implementarlo. Igualmente gracias. Otra cosa, ¿Si es bueno trabajar de esa manera?
__________________
La educación y la cortesía abren todas las puertas.
  #6 (permalink)  
Antiguo 24/09/2011, 11:20
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Varias Clases reciban la conexión PDO

Cita:
Iniciado por arepavieja Ver Mensaje
Funciona perfecto. Muchas Gracias. Y pues anoche estuve viendo varios casos, pero ninguno me resultó o no supe implementarlo. Igualmente gracias. Otra cosa, ¿Si es bueno trabajar de esa manera?
¿Te refieres a instanciar vs heredar? La herencia es ideal solo cuando el objeto heredado es del mismo tipo del objeto padre.
Busca sobre las relaciones IS-A y HAS-A para que tengas una idea de lo que me refiero.
  #7 (permalink)  
Antiguo 24/09/2011, 12:07
Avatar de arepavieja  
Fecha de Ingreso: marzo-2011
Mensajes: 207
Antigüedad: 13 años, 1 mes
Puntos: 9
Respuesta: Varias Clases reciban la conexión PDO

mmmm, buen artículo. En mi caso supongo que la clase b tiene una conexión y no es una conexión. Gracias por la Aclaratoria.
__________________
La educación y la cortesía abren todas las puertas.

Etiquetas: clases, conexion, herencia, pdo, return
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 22:34.