Foros del Web » Programando para Internet » PHP » CodeIgniter »

Sesiones y objetos CodeIgniter

Estas en el tema de Sesiones y objetos CodeIgniter en el foro de CodeIgniter en Foros del Web. Buenas, tengo un inconveniente al igualar instancias de objetos y variables de sesion. Utilizo la librerias de sesiones nativas de codeigniter que me funciona perfectamente ...
  #1 (permalink)  
Antiguo 02/06/2011, 11:57
 
Fecha de Ingreso: diciembre-2008
Mensajes: 190
Antigüedad: 15 años, 11 meses
Puntos: 6
Sesiones y objetos CodeIgniter

Buenas, tengo un inconveniente al igualar instancias de objetos y variables de sesion.
Utilizo la librerias de sesiones nativas de codeigniter que me funciona perfectamente si las variables son strings, ahora si es un objeto, por ej:

Código PHP:
if (!($CI->session->userdata('datos'))){
$CI->session->set_userdata('datos',$CI->personas);
}
else
{
 
$CI->session->userdata('datos')->cargar_persona('carlos',rand(0,9));
}
echo 
$CI->session->userdata('datos')->cantidad_personas(); 
$CI->personas hace referencia a una libreria que carga personas.
Bien, si yo recargo la pagina muchas veces el resultado esperado deberia ser que el echo devuelva la tantas personas como refresh haga, y el tema es que siempre aparece 1 que es la que carga en el else.

Resumiendo, no me persiste estado final del objeto y nose en q estoy fallando.
Muchas gracias.
  #2 (permalink)  
Antiguo 02/06/2011, 13:41
 
Fecha de Ingreso: diciembre-2008
Mensajes: 190
Antigüedad: 15 años, 11 meses
Puntos: 6
Respuesta: Sesiones y objetos CodeIgniter

me respondo a mi mismo, obviamente en beneficio de la comunidad :P
Solución al menos de momento, parece ser que no guarda objetos, por lo tanto lo serializo:

Código PHP:
$CI->session->set_userdata('cart',serialize($CI->ruca_carro)); 
luego

Código PHP:
$objeto unserialize($CI->session->userdata('cart')); 

Etiquetas: frameworks-y-php-orientado-a-objetos, objetos, sesiones
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:03.