Foros del Web » Programando para Internet » PHP »

No coge valores de un objeto

Estas en el tema de No coge valores de un objeto en el foro de PHP en Foros del Web. Hola a todos, Os cuento estoy con una tienda online, Tengo una clase que genera un producto(objeto) para una tienda online, ademas hay otra clase ...
  #1 (permalink)  
Antiguo 24/02/2012, 06:27
Avatar de djsos  
Fecha de Ingreso: septiembre-2007
Ubicación: Madrid-España
Mensajes: 374
Antigüedad: 16 años, 6 meses
Puntos: 14
No coge valores de un objeto

Hola a todos,

Os cuento estoy con una tienda online,

Tengo una clase que genera un producto(objeto) para una tienda online, ademas hay otra clase que genera las categorías(un objeto por cada una de ellas)que corresponden a cada objeto, es decir

Producto1(objeto)-> categorías(array de objetos)-> Categoría(objeto)->nombre(valor)

Cuando quiero mostrar un listado con 9 productos por ejemplo llamo a una clase que me permite introducirle los parámetros de búsqueda y me genera un array de objetos, cada objeto un producto.

El problema que utilizo una funcion externa a todas las clases para mostrar unicamente las categorias de los productos, la funcion es:

Código PHP:
function mostrar_categorias(){
        echo <<< HTML
    <div class="block block-cat">
        <div class="block-title">
            <strong><span>Categorias</span></strong>
        </div>
    <div class="block-content">
HTML;
        foreach(
$productos->producto as $producto){
            foreach(
$producto->categoria as $categoria){
                echo 
"<tr><td>".$categoria->nombre."</td></tr>";
            }
        }

    echo(
"</table></div></div>");

El error que me da es que el objeto $productos me da error en el foreach de como si no estuviera creado. Los permisos les he puesto a todo es en public en todas las variables de todas las clases y sigo con el mismo problema.

Alguien sabe como podría solucionarlo.
__________________
Es de bien nacidos ser agradecidos.
Desarrollo de software a medida | TPV Comercios
  #2 (permalink)  
Antiguo 24/02/2012, 07:13
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 8 meses
Puntos: 194
Respuesta: No coge valores de un objeto

A ver, creo que deberías hacer un

var_dump($productos)

antes del foreach para asegurarte que el contenido del objeto creado es el que vos realmente esperas.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #3 (permalink)  
Antiguo 24/02/2012, 07:14
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: No coge valores de un objeto

lo ideal sería ver las definiciones de las clases
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #4 (permalink)  
Antiguo 24/02/2012, 08:01
Avatar de djsos  
Fecha de Ingreso: septiembre-2007
Ubicación: Madrid-España
Mensajes: 374
Antigüedad: 16 años, 6 meses
Puntos: 14
Respuesta: No coge valores de un objeto

Estuve ya revisando que los valores estuvieran hay y los valores son correctos el problema es que no entra.

La solución que he encontrado es definir $productos como variable local dentro la funcion y pasarle el valor de la misma variable global, pero no me gusta queda muy sucio, intentare ora solucion.

gracias por la ayuda
__________________
Es de bien nacidos ser agradecidos.
Desarrollo de software a medida | TPV Comercios

Etiquetas: clases, herencia, objetos-clases
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




La zona horaria es GMT -6. Ahora son las 13:39.