Foros del Web » Programando para Internet » PHP »

variables globales

Estas en el tema de variables globales en el foro de PHP en Foros del Web. He leído que en general es recomendable evitar el uso de variables globales. Estoy haciendo un código en el que creo que es adecuado su ...
  #1 (permalink)  
Antiguo 15/09/2009, 10:20
Avatar de PacoRuiz  
Fecha de Ingreso: abril-2009
Mensajes: 254
Antigüedad: 15 años
Puntos: 3
variables globales

He leído que en general es recomendable evitar el uso de variables globales. Estoy haciendo un código en el que creo que es adecuado su uso, pero puedo evitarlo, aunque creo que lo mejor es utilizarlas, quisiera oir opiniones al respecto.

El caso es el siguiente. Quiero hacer un código que muestre una clasificación de fotos a partir de dos bases de datos. Existen diferentes tipos de fotos, y unos tipos son hijos de otros, por ejemplo el tipo peces será hijo del tipo animales.

Un tipo puede tener varios padres, por ejemplo el tipo retratos de mujer puede ser hijo del tipo retratos y del tipo mujeres.

Todo esto se guardará en dos tablas, una tabla lamada tipos que tiene dos campos: Identificador y descripción y otra tabla llamada jerarquias que guarda parejas hijo-padre. De modo que un hijo que tenga tres padres tendrá tres registros en la tabla jerarquía.

Cuando quiero mostrar la jerarquía, unos tipos serán mostrados varias veces según el número de padres que tengan.

En el código para mostrar los tipos hago un array con la tabla tipos, para recorrerla más facilmente que si tuviera que acceder a la base de datos cada vez, ya que la recorreré muchas veces.

Hago una función llamada buscahijos(), que busca los hijos para cada tipo de foto. Ahí está la cuestión. Buscahijos es llamada dentro de la propia función buscahijos() porque hay que buscar a los hijos de los hijos y así sucesivamente, o sea que buscahijo() es llamada muchas veces, y esta función utiliza siempre el mismo array tipos. ¿Tiene sentido mandar el array cada vez como parámetro o es mejos utilizar el array como una variable global? ¿Se crea una copia del array cada vez o el array se pasa por referencia? ¿No usar variables globales supone un uso mayor de memoria debido a las sucesivas copias del array?
  #2 (permalink)  
Antiguo 15/09/2009, 11:06
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: variables globales

Creo te estas confundiendo, del uso de variables globales, con register globals. No hay problema en usar variables globales para este caso, ya que así guardas todos los datos en el mismo array.

Saludos.
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 02:02.