que estoy tratando de guardar un objeto en $_SESSION
, pero los siguientes:php objeto ahorro en sesión
<?php
$user = db->load($username, $pass) ;
$_SESSION[ 'user' ] = $user ;
# on subsequent page loads:
$user = $_SESSION[ 'user' ] ; #retrieve the user from session
Desafortunadamente esto no funciona.
La secuencia de comandos intentó ejecutar un método o acceder a una propiedad de un objeto incompleto. Asegúrese de que la definición de clase "Usuario" del objeto sobre el que intenta operar esté cargada _antes de que se llame a unserialize() o proporcione una función __autoload() para cargar la definición de clase
A menos que use serialize():
<?php
$user = db->load($username, $pass) ;
$_SESSION[ 'user' ] = serialize($user) ;
# on subsequent page loads:
$user = unserialize($_SESSION[ 'user' ]) ; #retrieve the user from session
Supongo que se requiere una serialización porque la información de la sesión se guarda en el disco. Pero, ¿no debería PHP ser lo suficientemente inteligente como para serializar cosas por sí mismo?
Y con el uso de serializar/_ _ unserialize, es esto va a funcionar ahora de forma fiable? ¿O necesito un método __serialize()
en mi clase de PHP?
¿Alguna vez ha pensado en utilizar Zend.Session? –