Índice

Trabajar con las Sesionessesiones

1. Introducción

Una sesión es un mecanismo que permite conservar los datos a lo largo de la navegación de un usuario.

El protocolo HTTP se puede definir como sin estado (stateless): statelesscada consulta de un usuario se trata de manera independiente por el servidor web, sin relación con los anteriores. Sin embargo, gracias a las cookies, es posible conservar información entre varias consultas de un usuario. Encontrándose una cookie en una respuesta, el navegador se encargará del enviarla para las siguientes consultas.

Por una multitud de razones relativas a la seguridad de un sitio web, se desaconseja almacenar todos los datos de un usuario en las cookies. Si los datos son sensibles, no se deben comunicar al navegador: es preferible conservarlo en su servidor web.

Desde un punto de vista funcional, con un sistema de sesiones, la aplicación devuelve una cookie que contiene un identificador, este último siendo por ejemplo el nombre de un archivo almacenado en el servidor web. Este archivo es el que contiene la información de sesión.

PHP soporta de manera nativa las sesiones. Si todavía no está familiarizado con ellas, diríjase a la documentación oficial de PHP.

2. Integración de las sesiones en Symfony

Con Symfony, no debe utilizar la variable superglobal $_SESSION o funciones como session_start(): las interacciones con la sesión se harán exclusivamente a través de un servicio llamado session.

A continuación ...