Laravel HTTP Session: Using The Session

Retrieving Data

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class UserController extends Controller
{
    /**
     * Show the profile for the given user.
     *
     * @param  Request  $request
     * @param  int  $id
     * @return Response
     */
    public function show(Request $request, $id)
    {
        $value = $request->session()->get('key');

        //
    }
}
$value = $request->session()->get('key', 'default');

$value = $request->session()->get('key', function () {
    return 'default';
});

When you retrieve an item from the session, you may also pass a default value as the second argument to the get method.

Storing Data

// Via a request instance...
$request->session()->put('key', 'value');

// Via the global helper...
session(['key' => 'value']);

Flash Data

Flash data is primarily useful for short-lived status messages.

$request->session()->flash('status', 'Task was successful!');
$request->session()->reflash();

$request->session()->keep(['username', 'email']);

Deleting Data

$request->session()->forget('key');

$request->session()->flush();

Regenerating The Session ID

Is often done in order to prevent malicious users from exploiting a session fixation attack on your application.

$request->session()->regenerate();

Laravel HTTP Session: Using The Session — Structure map

Clickable & Draggable!

Laravel HTTP Session: Using The Session — Related pages: