Ultima Laravel
Share
Explore

icon picker
Sesiones

Dado que las solicitudes HTTP son fugaces y no dejan rastro, es importante contar con un sistema que le permita memorizar información entre dos solicitudes. Este es precisamente el propósito de las sesiones.
La configuración de la sesión está en el archivo de configuración session.php . Encontramos en el archivo .env la definición del controlador, así como la vida útil de la información:
SESSION_DRIVER=file
SESSION_LIFETIME=120
Por defecto es un archivo (en storage/framework/sessions ) que memoriza la información de la sesión pero también puedes usar: cookies, base de datos, tabla (usada para pruebas), ,
Independientemente del controlador utilizado , el asistente de sesión de Laravel permite una gestión de sesión simplificada. Por lo tanto, puede crear una variable de sesión a partir de la solicitud:
$request->session()->put('clave' , 'valor');
O usando el ayudante:
session ([ 'clave' = > 'valor' ]) ;
También puede recuperar un valor de su clave:
$valor = $request->session()->get('clave');
Y también podemos usar el ayudante:
$valor = session ( 'clave' ) ;
Puede proporcionar un valor predeterminado:
$valor = session ( 'clave' , 'valor predeterminado' ) ;
A menudo es útil (este será el caso de nuestro ejemplo) para saber si una clave determinada está presente en la sesión:
if (session()->has('error')) ...
Esta información permanece para el mismo cliente en todas sus consultas. Laravel se encarga de esta información, solo le damos un par clave-valor y se encarga de todo.
Estos son solo los métodos básicos para las sesiones, encontrarás toda la información adicional .


Los parámetros de configuración de sesiones se definen en config/session.php.
Importante es el almacenamiento y el tiempo de vida de la sesión.
Con Laravel no es preciso usar directamente la variable $_SESSION.
ni debemos usar las funciones session_start() o session_destroy()
Podemos acceder a un dato guardado en sesión de tres modos:
El request, esto requiere inyección de dependencias:
public function showProfile(Request $request, $id)
{
$value = $request->session()->get('key');
}
La fachada Session
$value = Session::get('key');
La función helper session():
$value = session('key');
Obtener todos los datos de una sesión
$data = $request->session()->all();
$data = Session::all(); //usando el Facade
Podemos guardar datos en sesión de dos modos:
$request->session()->put('email', 'me@example.com');
session(['email' => 'me@example.com']); //usando el helper
Podemos eliminar datos de sesión:
$request->session()->forget('key'); //elemento key
$request->session()->flush(); // todos
Session::flush(); //todos con la fachada
Guardar datos sólo durante una petición (request) sólamente.
Esto se usa en validaciones de forma automática, transparente al usuario
Para los datos antiguos (old)
Para los mensajes de error
//después de una petición se elimina.
$request->session()->flash('mensaje', '¡El usuario fue eliminado!');
//guardar los datos flasheados un request más.
$request->session()->reflash();
//guardadr datos flasheados.
$request->session()->keep(['mensaje', 'email']);

Share
 
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.