Foros del Web » Programando para Internet » PHP »

Guardando objetos PHP en Sessioón

Estas en el tema de Guardando objetos PHP en Sessioón en el foro de PHP en Foros del Web. Para ahorrar en acceso a la base de datos, creo Objetos en Session al validar un usuario que luego utilizo repetidas veces. El problema es ...
  #1 (permalink)  
Antiguo 30/12/2008, 09:38
 
Fecha de Ingreso: enero-2008
Ubicación: Barcelona
Mensajes: 54
Antigüedad: 16 años, 3 meses
Puntos: 1
Guardando objetos PHP en Sessioón

Para ahorrar en acceso a la base de datos, creo Objetos en Session al validar un usuario que luego utilizo repetidas veces. El problema es que al no utilizar la pagina en unos 30 min aprox, con la pagina abierta en el navegador, al hacer algun click me sale el error

Fatal error: Call to a member function getArrayDecorados() on a non-object in /opt/lampp/htdocs/......... .php on line 183

El objeto en session creado ha desaparecido, y me muestra un error porque los metodos intentan acceder a sus propiedades.

Como puedo solucionar esto? Como puedo controlar este error, para que el internauta no se asuste al ver el error, y pueda volver a validarse para recueprar el objeto perdido?


Tengo otras variables guardadas en session y no desaparecem, pq ls objetos si? Puedo aumentar este tiempo en phpini o en Apache?

Saludos y gracias !!
  #2 (permalink)  
Antiguo 30/12/2008, 10:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Guardando objetos PHP en Sessioón

¿ya has leído el manual de PHP??

ahí, especifica que al recuperar un objeto, debe existir la clase... solo declarada... pues al serializar los datos no se almacenan los métodos!!

Código PHP:
class Foo {
  function 
Bar()
  {
    echo 
'Candy';
  }
}

$obj = new Foo;

$a serialize($obj); // asi se guarda en session
$b unserialize($a);

$b->Bar(); 
(te sugiero investigues en el manual)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 31/12/2008, 00:02
 
Fecha de Ingreso: diciembre-2008
Mensajes: 70
Antigüedad: 15 años, 4 meses
Puntos: 4
Respuesta: Guardando objetos PHP en Sessioón

Aparte de lo que te comenta pateketrueke recuerda que tienes que llamar al objeto dentro de una funcion (aunque la funcion este dentro de otro objeto) por medio de
Código PHP:
 global $nombre_objeto$o_nombre_variable
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 11:58.