Jump to content

Guardar objeto en session


mandreur

Recommended Posts

Hola, necesito saber como guardar un objeto en session o en cookie para poder acceder a él en otro controlador. Uso este mecanismo: **$this->context->cookie->__set('checkoutPaymentStep', serialize($checkoutPaymentStep));** pero me da error, necesito guardar un objeto, no un valor primitivo. Gracias.

Link to comment
Share on other sites

Hola!

¿Has probado a convertirlo en string con json_encode? Yo lo uso para imprimir objetos en el log.

Personalmente yo prefiero almacenar esas cosas en una cache del servidor. Tengo instalado memcached y guardo ahí lo que necesito con acceso global. Así la información no viaja por el cliente.

Edited by Manuel_GT (see edit history)
Link to comment
Share on other sites

19 hours ago, mandreur said:

Hola, necesito saber como guardar un objeto en session o en cookie para poder acceder a él en otro controlador. Uso este mecanismo: **$this->context->cookie->__set('checkoutPaymentStep', serialize($checkoutPaymentStep));** pero me da error, necesito guardar un objeto, no un valor primitivo. Gracias.

En todo caso este código no es correcto. Lo correcto seria: $this->context->cookie->checkoutPaymentStep = serialize($checkoutPaymentStep;

Pero el tamaño de la cookie que admite el servidor es limitado, por tanto en algún momento tendrás el problema de que se excederá ese limite y el cliente no podrá navegar por la tienda.

Puedes usar $this->context->checkoutPaymentStep = $checkoutPaymentStep; para acceder a la variable $this->context->checkoutPaymentStep desde cualquier otro controlador, pero este dato no se almacena en la sesión, sino que cambia con cada petición que haga el cliente a la tienda.

Suerte

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...