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

Problema con jerarquía de objetos.

Estas en el tema de Problema con jerarquía de objetos. en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenos días compañeros del foro, fijense que tengo un problema al momento de querer hacer una clase que contenga arreglos con elementos del tipo de ...
  #1 (permalink)  
Antiguo 23/02/2009, 11:27
Avatar de Jad-Neo  
Fecha de Ingreso: octubre-2004
Mensajes: 344
Antigüedad: 19 años, 6 meses
Puntos: 0
Problema con jerarquía de objetos.

Buenos días compañeros del foro, fijense que tengo un problema al momento de querer hacer una clase que contenga arreglos con elementos del tipo de otra clase.

Dado que el código es brutalmente extenso, voy a resumir todo en un sencillo ejemplo. Yo tengo tres clases:

Sqlengine - Contiene todos mis métodos que van a hacer las consultas a la BD.
factura - Sólo tiene propiedades públicas y un constructor: persona, direccion, rfc e items; este último es un arreglo de la siguiente clase.
item - Igualmente sólo propiedades publicas y su constructor: nombre y costo.

Cada uno se encuentra en un archivo aparte. Resulta que en mi clase Sqlengine existe un método llamado listarFacturas, que me regresa una arreglo de objetos factura, a su vez dentro de ese método se llena el arreglo de items de cada objeto del tipo anterior.

Todo marcha bien, hasta que quiero recorrer con un foreach cada factura del arreglo devuelto por listarFacturas, y a su vez recorrer con otro foreach anidado los items de cada una.

Código PHP:
$eng = new Sqlengine();
$facs $eng->listarFacturas();
foreach (
$facs as $f) {
    echo 
$f->nombre;
    foreach (
$f->items as $i) {
        echo 
$i->costo;
    }

Asoman los siguientes mensajes:

Notice: Trying to get property of non-object...
Warning: Invalid argument supplied for foreach()...

Lo curioso es que si me imprime bien los valores, pero esos mensajes no busco como quitarlos. Localmente los podría desactivar de mi php.ini, pero en el servidor es otra historia. Si alguien sabe de una solución a mi problema se lo agradeceré mucho. Gracias de antemano.
__________________
Nunca seas sabio en tu propia opinión.
  #2 (permalink)  
Antiguo 23/02/2009, 12:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problema con jerarquía de objetos.

Hola Jad-Neo,

Revisa tu método listarFacturas, es probable que te este regresando algunos objetos nulos y por eso te salen los notices y los warnings.

Saludos
  #3 (permalink)  
Antiguo 23/02/2009, 12:42
Avatar de Jad-Neo  
Fecha de Ingreso: octubre-2004
Mensajes: 344
Antigüedad: 19 años, 6 meses
Puntos: 0
Respuesta: Problema con jerarquía de objetos.

Hiijole.....no me había fijado de esa posibilidad. De hecho ya logré solucionarlo, y sí; ese fue el problema. En dicho método estaba poniendo el $fac->items[] = $item (el que agregaba los items a la factura) fuera de una condición. Gracias por la ayuda.
__________________
Nunca seas sabio en tu propia opinión.
  #4 (permalink)  
Antiguo 19/05/2009, 21:26
Avatar de pabx  
Fecha de Ingreso: noviembre-2008
Ubicación: Montevideo, Uruguay
Mensajes: 16
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Problema con jerarquía de objetos.

Te aconsejo que cuando te pase algo así y no sepas porque hagas un: print_r($facs); para ver que tienen tus objetos o estructuras adentro.

Saludos,
Pablo.
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.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 07:15.