Herramientas de usuario

Herramientas del sitio


informatica:programacion:php:frameworks:laravel:sesiones

¡Esta es una revisión vieja del documento!


Sesiones en Laravel

Laravel

config/session.php

public function store() 
{
    if (request()->status == 'available' && request()->stock == 0) {
        session()->put("error", "If available, must have stock");
 
        return redirect()->back();
    }
 
    session()->forget("error");
 
    $product = Product::create(request()->all());
 
    return redirect()->route("products.index")
}

En la vista, aprovecharemos el mensaje de sesión para mostrarlo:

resources/views/layouts/master.blade.php:

<!doctype html>
<html lang="es">
<head>
    <title>Laravel Products</title>
</head>
<body>
    @if (session()->has("error"))
        <div class="alert alert-danger">
            {{ session()->get("error") }}
        </div>
    @endif
    @yield("content")
</body>
</html>    

Si queremos que un dato de sesión solo se mantenga hasta la siguiente petición, usaremos entonces el método flash():

public function store() 
{
    if (request()->status == 'available' && request()->stock == 0) {
        session()->flash("error", "If available, must have stock");
 
        return redirect()->back();
    }
 
    $product = Product::create(request()->all());
 
    return redirect()->route("products.index")
}

En la siguiente petición que se haga, no existirá el elemento de sesión.

informatica/programacion/php/frameworks/laravel/sesiones.1686495832.txt.gz · Última modificación: por tempwin