Foros del Web » Programando para Internet » PHP »

Optimizar include dentro de bucle

Estas en el tema de Optimizar include dentro de bucle en el foro de PHP en Foros del Web. Hola a todos, Tengo un bucle que en cada vuelta llama al mismo include, una y otra vez. El caso es que no creo que ...
  #1 (permalink)  
Antiguo 22/08/2012, 02:59
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Optimizar include dentro de bucle

Hola a todos,

Tengo un bucle que en cada vuelta llama al mismo include, una y otra vez.

El caso es que no creo que sea muy eficiente, ya que supongo que tiene que abrir una y otra vez el archivo. ¿Existe alguna forma mas eficiente de ejecutar un script en un bucle?

No se, podria guardar el contenido del archivo en una variable usando el buffer y sin ejecutar el PHP, luego ejecutar un eval en cada pase del bucle. Pero me parece demasiado complejo.

¿Existe alguna forma de hacerlo?.

Código PHP:
while($vamos)
{
     include(
'archivo.php');

  #2 (permalink)  
Antiguo 22/08/2012, 03:11
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Respuesta: Optimizar include dentro de bucle

No puedes poner el include justo antes del while?
  #3 (permalink)  
Antiguo 22/08/2012, 03:31
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Optimizar include dentro de bucle

La mejor opción, como te comenta alyciashape, es poner el include antes del while; para esto, debes colocar todo el proceso de ese script dentro de una función y, dentro del while, la ejecutas en cada iteración.
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 22/08/2012, 03:32
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Respuesta: Optimizar include dentro de bucle

Hola Alyciashape,

No no puedo, ya que el include contiene un proceso que deseo se ejecute una y otra vez.

:P
  #5 (permalink)  
Antiguo 22/08/2012, 03:43
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Optimizar include dentro de bucle

Pq un include?

Haz el script como una función xD
__________________
>> Eleazan's Source
>> @Eleazan
  #6 (permalink)  
Antiguo 22/08/2012, 04:40
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Respuesta: Optimizar include dentro de bucle

Pues es lo que te han dicho. Mira como hacer una función. Tu script debe ser una. Cuando lo incluyas no se ejecutará, sólo cuando llames a la función.
Un ejemplo sencillo:
Código:
function imprime_a() {
    echo "Imprimo a";
}

imprime_a(); //Esto ejecuta la función e imprime a
Sólo tienes que meter todo tu script dentro de una función con el nombre que quieras y luego llamarla, como en el ejemplo. También puedes pasarles variables y tal vez te sea más últil que como lo tienes ahora.
  #7 (permalink)  
Antiguo 24/08/2012, 04:16
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Respuesta: Optimizar include dentro de bucle

Hola de nuevo,

¿Pero si lo meto en una funcion el include no cargara constantemente el archivo al que deseo incluir?, es decir, mi preocupacion se encuentra en "el gasto de memoria" al que someto al servidor pidiendole que abra el mismo archivo cientos de veces.

Creo que al final... la mejor opcion va a ser la de guardar el archivo en una variable y ejecutarlo con un eval.

:P
  #8 (permalink)  
Antiguo 24/08/2012, 04:41
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Respuesta: Optimizar include dentro de bucle

No te entiendo muy bien.

Tal vez si nos dices lo que hace el include podamos entender mejor el asunto, pero sigo pensando que lo mejor es una funcion y seguro que será así igualmente.

La funcion aunque la llames 3.000 veces no genera nuevo código sólo devuelve lo que le digas en ella, usando siempre el mismo código.

Etiquetas: bucle, include, variables
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 16:41.