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 −
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.
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.
0 Comments
CAN FEEDBACK
Emoji