Laravel - Session

Laravel - Session

 

Laravel - Session


Sessions are used to store information about the user across the requests.  Laravel gives different drivers like file, cookie, apc, array, Memcached, Redis, and database to deal with session information. Of course, a file driver is utilized in light of the fact that it is lightweight. The session can be configured in the file put away at config/session.php.

Accessing Session Data

To get to the session information, we need an occurrence of the session which can be gotten to by means of HTTP demand. In the wake of getting the occasion, we can utilize the get() strategy, which will take one contention, "key", to get the session information.

$value = $request->session()->get('key');

You can use all() methods to get all session data instead of get() method.

Storing Session Data

Data can be stored in the session using the put() method. The put() method will take two arguments, the “key” and the “value”.

$request->session()->put('key', 'value');

Deleting Session Data

They forget() method is used to delete an item from the session. This method will take “key” as the argument.

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

Utilize flush() technique rather than forget() strategy to delete all session information. Utilize the draw() technique to recover information from the session and delete it a short time later. The draw() strategy will likewise accept key as the contention. The distinction between the forget() and the force() technique is that forget() strategy won't restore the value of the session and draw() strategy will return it and delete that value from the session.

Example

Step 1 − Create a controller called SessionController by executing the following command.

php artisan make:controller SessionController --plain

Step 2 − After successful execution, you will receive the following output −

SessionController

Step 3 − Copy the following code in a file at

app/Http/Controllers/SessionController.php.

app/Http/Controllers/SessionController.php

php

namespace App\Http\Controllers;

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

class SessionController extends Controller {
   public function accessSessionData(Request $request) {
      if($request->session()->has('my_name'))
         echo $request->session()->get('my_name');
      else
         echo 'No data in the session';
   }
   public function storeSessionData(Request $request) {
      $request->session()->put('my_name','ABC');
      echo "Data has been added to session";
   }
   public function deleteSessionData(Request $request) {
      $request->session()->forget('my_name');
      echo "Data has been removed from session.";
   }
}

Step 4 − Add the following lines at app/Http/routes.php file.

app/Http/routes.php

Route::get('session/get','SessionController@accessSessionData');
Route::get('session/set','SessionController@storeSessionData');
Route::get('session/remove','SessionController@deleteSessionData');

Step 5 − Visit the following URL to set data in session.

http://localhost:8000/session/set

Step 6 − The output will appear as shown in the following image.

Data in Session

Step 7 − Visit the following URL to get data from session.

http://localhost:8000/session/get

Step 8 − The will appear as shown.

Step 9 − Visit the following URL to remove session data.

http://localhost:8000/session/remove

Step 10 − You will see a message as shown in the following image.

Session

Reactions

Post a Comment

0 Comments

close