If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
Session का use information को temporary store करने के लिए जाता है। या हम कह सकते हैं कि Session user data को temporary store करने का एक Alternative way है। Session में store data सभी pages पर accessible होता है , जिसे हम सभी pages पर access या modify कर सकते हैं।
session में data store करने के लिए Laravel कई तरह के session drivers provide कराता है।
By Default Laravel file session deriver use करता है। जो कि लगभग सभी Web Applications के साथ easily work करता है।
Laravel में session configuration के लिए file config/session.php होती है। जहाँ हम अपनी need के according session settings को configurate कर।
PHP में session क्या होता है , और यह कैसे work करता है।
अगर आप session data store करने के लिए database driver use करने जा रहे हैं तो आपको database में नीचे दिए गए table structure के अक्सोर्डिंगक Table create करनी पड़ेगी।
Schema::create('sessions', function ($table) { $table->string('id')->unique(); $table->foreignId('user_id')->nullable(); $table->string('ip_address', 45)->nullable(); $table->text('user_agent')->nullable(); $table->text('payload'); $table->integer('last_activity'); });
हालाँकि आप चाहे तो PHP artisan command session:table के through भी same schema generate कर सकते हैं।
php artisan session:table php artisan migrate
Laravel में session के साथ work करने के लिए तीन methods use किये जाते हैं।
session data store करने के लिए हम put() method का use करते हैं।
/* Via Session class */
use Session; /*put this line in your controller before class declaration*/
Session::put('key' , 'value');
/* Via the global helper... */
session(['key' => 'value']);
/* Via a request instance... */
$request->session()->put('key', 'value');
/*Pushing To Array Session Values*/
$request->session()->push('item.color', 'Red');
Laravel में session data retrieve करने के लिए हम get() method का use करते हैं।
/* Via Session class */
use Session; /*put this line in your controller before class declaration*/
Session::get('key');
/* Via the global helper... */
session('key');
/* Via a request instance... */
$request->session()->get('key');
? हालाँकि session data retrieve करते समय हम key के साथ default value भी pass कर सकते हैं , अगर वो के exist नहीं करती या value null हुई तो default value मिल जायगी।
//via request instance $value = $request->session()->get('key', 'default'); //via Session class $value = Session::get('key', 'default'); //via global helper $value = session('key', 'default');
all() method का use करके आप complete session data को एक साथ access कर सकते हैं।
$data = $request->session()->all(); Or $data = Session::all();
session से data delete करने के लिए हम forget() method का use करते हैं।
// Forget a single key... $request->session()->forget('key'); // Forget multiple keys... $request->session()->forget(['key1', 'key2']); $request->session()->flush();
कभी कभी sesion में सिर्फ एक बार session data store करने की जरूरत पड़ती है , वहां आप flash() या with() method use कर सकते हैं।
$request->session()->flash('status', 'Task was successful!');
हालाँकि आप redirection के साथ भी इसे use कर सकते हैं।
/*to get back with a message*/ return back()->with('status', 'Task was successful!'); return redirect(URL)->with('status', 'Task was successful!');