Foros del Web » Programando para Internet » PHP »

¿Demasiadas instancias?

Estas en el tema de ¿Demasiadas instancias? en el foro de PHP en Foros del Web. Hola amigos, he creado una pagina que me hace un listado de productos almacenados en una BD. La solucion mas sencilla que encontre fue la ...
  #1 (permalink)  
Antiguo 02/10/2010, 17:14
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
De acuerdo ¿Demasiadas instancias?

Hola amigos, he creado una pagina que me hace un listado de productos almacenados en una BD. La solucion mas sencilla que encontre fue la siguiente:
tengo un objeto: colproducto (coleccion de productos) en el que la funcion mostrartodo() hace lo siguiente:
-selecciono de la BD los productos a mostrar
-instaciono un objeto de la clase producto para cada fila seleccionada de la BD (lo hago con un bucle) y los meto en un array
-el objeto tiene un metodo que me muestra los datos ya en div para darle estilo proximamente, y ordenados, mediante foreach leo el array con los objetos: utilizo el metodo mostrar()


Mi pregunta es: en cada pagina quizas haya unos 40 productos, ¿no se me "petara" el servidor por tener que realizar tantas instancias del mismo objeto? ¿sera muy lenta la carga de la pagina? En caso afirmativo, ¿proponeis alguna alternativa?

Muchas gracias.
  #2 (permalink)  
Antiguo 02/10/2010, 19:40
 
Fecha de Ingreso: mayo-2010
Mensajes: 104
Antigüedad: 14 años
Puntos: 0
Respuesta: ¿Demasiadas instancias?

tiene que ser un objeto para cada fila?
no puede ser un array como mysql_fetch_array lo que te devuelva el método de la instancia?

osea no sé si te comprendí pero no creo que haga falta más de 1 instancia para mostrar un listado...
  #3 (permalink)  
Antiguo 03/10/2010, 09:17
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
Respuesta: ¿Demasiadas instancias?

Te cuento, en el objeto colproducto
mediante un mysql_fetch_array recogo los datos de cada fila y eso lo meto en eun nuevo objeto producto:
Código PHP:
Ver original
  1. $fila = mysql_fetch_array($sentencia);
  2. $productos[] = new Producto($fila["nombre"],$fila["descipcion"])
eso va en un bucle que se repite tantas veces como filas haya

luego:
Código PHP:
Ver original
  1. foreach ($productos as $pro) {
  2. $pro -> mostrar()
  3. }

y en mostrar (metodo del objeto producto) me muestra las filas pero ya con div y etilos
  #4 (permalink)  
Antiguo 03/10/2010, 10:16
Avatar de historiasdemaria  
Fecha de Ingreso: septiembre-2010
Ubicación: www
Mensajes: 433
Antigüedad: 13 años, 7 meses
Puntos: 54
Respuesta: ¿Demasiadas instancias?

Sip, demasiadas,
yo hubiera generado la coleccion entera, y esto es lo que hubiera puesto en una sola instancia del objeto
Para esto normalmente escribo una clase que maneja las colecciones de datos de MySql, luego las otras clases crean instancias que manejan una coleccion entera
  #5 (permalink)  
Antiguo 03/10/2010, 10:41
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
Respuesta: ¿Demasiadas instancias?

De momento lo creare asi, calculare el tiempo que tarda en generar la pagina y si compruebo que tarda demasiado (¿alguien sabe cuantos ms son demasido?) pues buscare otras alternativas.
gracias

Etiquetas: instancias
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 23:51.