Foros del Web » Programando para Internet » PHP »

¿Es malo usar muchas variables de session?

Estas en el tema de ¿Es malo usar muchas variables de session? en el foro de PHP en Foros del Web. Hola amigos estoy realizando un proyecto web ya va bastante avanzado el caso esque he tenido que utilizar 3 variables de session para guardar por ...
  #1 (permalink)  
Antiguo 08/07/2008, 02:02
Avatar de keldrox  
Fecha de Ingreso: noviembre-2005
Mensajes: 95
Antigüedad: 19 años
Puntos: 2
¿Es malo usar muchas variables de session?

Hola amigos estoy realizando un proyecto web ya va bastante avanzado el caso esque he tenido que utilizar 3 variables de session para guardar por ejemplo un objeto en toda la pagina, el titulo de la web que se va modificando cada vez que carga un modulo diferente, en definitiva hoy he tenido que crear otra variable de session y son ya 4 variables y no se si esto es malo para la aplicacion.

Saludos y gracias!
  #2 (permalink)  
Antiguo 08/07/2008, 02:50
jpeeri
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ¿Es malo usar muchas variables de session?

¿Las necesitas? Si las necesitas no es malo, es cierto que cuantas menos uses mejor pero si son necesarias...
  #3 (permalink)  
Antiguo 08/07/2008, 02:56
Avatar de keldrox  
Fecha de Ingreso: noviembre-2005
Mensajes: 95
Antigüedad: 19 años
Puntos: 2
Respuesta: ¿Es malo usar muchas variables de session?

Las necesito para pasar las variables mediante los include o modificar sus valores dentro de funciones. Ademas al final del todo el codigo hay un session_destroy, las necesito solo para eso, alomejor es una mala programacion, ¿tienes alguna sugerencia?
  #4 (permalink)  
Antiguo 08/07/2008, 02:58
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 20 años
Puntos: 48
Respuesta: ¿Es malo usar muchas variables de session?

No necesariamente, puede que sean necesarias, o puede que no.
  #5 (permalink)  
Antiguo 08/07/2008, 03:03
Avatar de keldrox  
Fecha de Ingreso: noviembre-2005
Mensajes: 95
Antigüedad: 19 años
Puntos: 2
Respuesta: ¿Es malo usar muchas variables de session?

Sobre todo las dos principales que contiene el objeto theme que es para separar el html del php y el objeto databBase que es para la gestion de la DB estas no se me ocurre otra forma de poder enviarlas a no ser que sea por Session, ahora el problema esta en que el titulo de la web se va modificando segun la noticia que amplien o en el modulo(categoria de la web) que te encuentres, como los modulos se crean a partir de un include y dentro de este una function, no se me ocurre otra forma de modificar el titulo a no ser que sea una variable de session. ¿sugerencias?

Muchas gracias por los comentarios!
  #6 (permalink)  
Antiguo 08/07/2008, 03:21
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 20 años
Puntos: 48
Respuesta: ¿Es malo usar muchas variables de session?

¿El theme? Pues me parece que no es lo que se debe meter en una sesion. La sesion son para datos que pertenecen solo a esta visita y son necesarios conservar entre las distintas paginas de esa visita. Un theme normalmente es mas candidato a un fichero, o a recrearse en cada script. El objeto database, pues no se lo que pondras en el tuyo, pero en el mio tampoco va nada propio de la visita, con una simple inicializacion al comienzo de cada script es suficiente.

Lo del titulo no lo acabo de entender, como mucho que creas el titulo fuera de la visibilidad del codigo que genera el <title>. Si es un valor que solo es para esta pagina, en lugar de sesiones puedes usar $GLOBALS para crear variables globales al script http://es.php.net/manual/es/language...bles.scope.php . Quizas seria mas correcto cambiar el diseño de tu script para que el titulo sea accesible desde el codigo del <title>.
  #7 (permalink)  
Antiguo 08/07/2008, 04:07
Avatar de keldrox  
Fecha de Ingreso: noviembre-2005
Mensajes: 95
Antigüedad: 19 años
Puntos: 2
Respuesta: ¿Es malo usar muchas variables de session?

Hola Darkj, esque tengo un fichero de configuracion en el le añade al objeto la DB que necesitas, el password, el usuario etc y no lo voy a poner en cada modulo que haga por eso lo guardo en un session. Comentame como lo tienes tu.

Muchas gracias por la ayuda.

Edito:
Lo del titulo de la web lo he solucionado con el global, tienes toda la razon en ello muchas gracias me acabo de quitar 3 sesssions, comentemos lo de los objetos que me interesa bastante, un saludo!
  #8 (permalink)  
Antiguo 08/07/2008, 04:29
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 20 años
Puntos: 48
Respuesta: ¿Es malo usar muchas variables de session?

El objeto database es un parametro en el constructor de las clases que requieren acceder a la base de datos. Por ejemplo:
Código PHP:
$DA=new Database('servidor','usuario','contraseña','basededatos');
$objeto=new ClaseQueAccedeABD($DA); 
En el constructor asigno la database a una variable miembro, asi es accesible por todas las funciones de la clase.

Otra opcion seria usar patrones como Factoria o Singleton para simular objetos globales.

En el fondo es una cuestion de que si es un dato que tiene que mantenerse entre varias paginas de la misma visita (SESION) o un dato que debe ser accesible desde todo el script (GLOBAL).
  #9 (permalink)  
Antiguo 08/07/2008, 04:57
Avatar de keldrox  
Fecha de Ingreso: noviembre-2005
Mensajes: 95
Antigüedad: 19 años
Puntos: 2
Respuesta: ¿Es malo usar muchas variables de session?

El fallo era en el diseño del script no pense en global, creia que al poner una variable fuera de las funciones estas serian globales y no sabia que habia que especificarlo dentro de la funcion, entonces lo que hice fue meter los dos objetos en variables de session (muy mal por mi parte). Como los objetos deben ser utilizados en todo el script necesitan ser objetos globales, ahora cambiar todo me va a traer muchisimos problemas, todo esto por no pensar el diseño antes.

Un saludo!, ahora cambiare todo si tengo alguna duda volvere a postear. Muchisimas gracias por ayudarme!


Edito: Acabo de cambiar el sistema entero y funciona todo perfectamente sin ninguna variable de session, muchisimas gracias por todo.

Última edición por keldrox; 08/07/2008 a las 12:26
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 21:17.