তারা বর্তমান ব্যবহারকারীর জন্য ডেটা বজায় রাখার একটি সহজ উপায়। এই টিউটোরিয়ালটি আপনাকে লারাভেলের সেশনগুলির সাথে কাজ করার মূল বিষয়গুলি দেবে।
লারাভেলে, একটি সেশন হল তথ্য সঞ্চয় করার একটি উপায়, ব্যবহারকারীর করা অনুরোধগুলি সঠিকভাবে পরিচালনা করার জন্য। যখন একজন ব্যবহারকারী লারাভেল অ্যাপ্লিকেশন শুরু করেন, তখন সেই ব্যবহারকারীর জন্য একটি সেশন স্বয়ংক্রিয়ভাবে শুরু হয়। সেশন ডেটা সার্ভারে সংরক্ষণ করা হয় এবং সেশন সনাক্ত করতে ব্যবহারকারীর ব্রাউজারে একটি অনন্য শনাক্তকারী সহ একটি ছোট কুকি পাঠানো হয়।
আপনি একাধিক পৃষ্ঠা বা অনুরোধ জুড়ে ব্যবহার করতে চান এমন ডেটা সঞ্চয় করতে সেশন ব্যবহার করতে পারেন। উদাহরণস্বরূপ, আপনি ব্যবহারকারীর প্রমাণীকরণের জন্য সেশন ব্যবহার করতে পারেন বা আপনার অ্যাপ্লিকেশনে সেশন চলাকালীন ব্যবহার করতে চান এমন অন্যান্য তথ্য সঞ্চয় করতে পারেন।
লারাভেলে সেশনগুলি ব্যবহার করতে, আপনাকে প্রথমে সেগুলি ফাইলে সক্রিয় করতে হবে config/session.php
কনফিগারেশন এই ফাইলে সেশন সম্পর্কিত কনফিগারেশন প্যারামিটার সেট করা সম্ভব। যেমন সেশনের সময়কাল, সেশন ডেটা সঞ্চয় করার জন্য ব্যবহার করা ড্রাইভার এবং সেশন ডেটার জন্য স্টোরেজ অবস্থান।
নিচে একটি ফাইলের উদাহরণ দেওয়া হল sessions.php
সেশনের সময়কাল 120 সেকেন্ড, ডিরেক্টরিতে সংরক্ষিত ফাইলের ব্যবহার framework/sessions
:
<?php
use Illuminate\Support\Str;
return [
'driver' => env('SESSION_DRIVER', 'file'),
'lifetime' => env('SESSION_LIFETIME', 120),
'expire_on_close' => false,
'encrypt' => false,
'files' => storage_path('framework/sessions'),
'connection' => env('SESSION_CONNECTION', null),
'table' => 'sessions',
'store' => env('SESSION_STORE', null),
'lottery' => [2, 100],
'cookie' => env(
'SESSION_COOKIE',
Str::slug(env('APP_NAME', 'laravel'), '_').'_session'
),
'path' => '/',
'domain' => env('SESSION_DOMAIN', null),
'secure' => env('SESSION_SECURE_COOKIE'),
'http_only' => true,
'same_site' => 'lax',
];
আপনি ফাইলে পরিবেশ ভেরিয়েবল ব্যবহার করে সেশন কনফিগার করতে পারেন .env
. উদাহরণস্বরূপ, ডাটাবেস সেশন ড্রাইভার ব্যবহার করতে এবং একটি সেশন টেবিলে সেশন ডেটা সংরক্ষণ করতে, MySQL- প্রকার DB এর সাথে, আপনি নিম্নলিখিত পরিবেশ ভেরিয়েবল সেট করতে পারেন:
SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_CONNECTION=mysql
SESSION_TABLE=sessions
লারাভেলে সেশন ডেটা নিয়ে কাজ করার তিনটি উপায় রয়েছে:
helper
ডেলা global session
;Request instance
. এই সমস্ত ক্ষেত্রে, সেশনের মেয়াদ শেষ না হওয়া পর্যন্ত বা ম্যানুয়ালি ধ্বংস না হওয়া পর্যন্ত আপনি সেশনে যে ডেটা সংরক্ষণ করবেন তা একই ব্যবহারকারীর দ্বারা করা পরবর্তী অনুরোধগুলিতে উপলব্ধ হবে।
লারাভেলে, ফাংশন ব্যবহার করে Global Session Helper
ফ্রেমওয়ার্ক দ্বারা প্রদত্ত সেশন পরিষেবাগুলি অ্যাক্সেস করার এটি একটি সুবিধাজনক উপায়। এটি আপনাকে আপনার অ্যাপ্লিকেশনের সেশন থেকে ডেটা সংরক্ষণ এবং পুনরুদ্ধার করতে দেয়। এখানে কিভাবে ব্যবহার করবেন তার একটি উদাহরণ session helper
:
// Store data in the session
session(['key' => 'value']);
// Retrieve data from the session
$value = session('key');
// Remove data from the session
session()->forget('key');
// Clearing the Entire Session
session()->flush();
আপনি একটি প্রাক মান পাস করতে পারেনdefinite ফাংশনের দ্বিতীয় আর্গুমেন্ট হিসাবে session
, যা সেশনে নির্দিষ্ট কী পাওয়া না গেলে ফেরত দেওয়া হবে:
$value = session('key', 'default');
Session Request
লারাভেলে, একটি সেশন রিকোয়েস্ট ইনস্ট্যান্স এমন একটি বস্তুকে বোঝায় যা একটি HTTP অনুরোধের প্রতিনিধিত্ব করে এবং অনুরোধ সম্পর্কে তথ্য থাকে, যেমন অনুরোধের পদ্ধতি (GET, POST, PUT, ইত্যাদি), অনুরোধের URL, অনুরোধের শিরোনাম এবং অনুরোধের বডি। . এটিতে বিভিন্ন পদ্ধতি রয়েছে যা এই তথ্য পুনরুদ্ধার এবং ম্যানিপুলেট করতে ব্যবহার করা যেতে পারে।
সাধারণত আপনি দৃষ্টান্ত অ্যাক্সেস Session Request
পরিবর্তনশীল মাধ্যমে $request
একটি লারাভেল অ্যাপ্লিকেশনে। উদাহরণস্বরূপ, সাহায্যকারী ফাংশন ব্যবহার করে একটি অনুরোধের উদাহরণের মাধ্যমে একটি সেশন অ্যাক্সেস করা যেতে পারে session()
.
use Illuminate\Http\Request;
class ExampleController extends Controller
{
public function example(Request $request)
{
// Store data in the session using the put function
$request->session()->put('key', 'value');
// Retrieve data from the session using the get function
$value = $request->session()->get('key');
// Check if a value exists in the session using the has function:
if ($request->session()->has('key')) {
// The key exists in the session.
}
// To determine if a value exists in the session, even if its value is null:
if ($request->session()->exists('users')) {
// The value exists in the session.
}
// Remove data from the session using the forget function
$request->session()->forget('key');
}
}
এই উদাহরণে, পরিবর্তনশীল $request
এটি ক্লাসের একটি উদাহরণ Illuminate\Http\Request
, যা বর্তমান HTTP অনুরোধের প্রতিনিধিত্ব করে। কাজ session
অনুরোধের উদাহরণ ক্লাসের একটি উদাহরণ প্রদান করে Illuminate\Session\Store
, যা সেশনের সাথে কাজ করার জন্য বিভিন্ন ফাংশন প্রদান করে।
Ercole Palmeri
অ্যাপল ভিশন প্রো কমার্শিয়াল ভিউয়ার ব্যবহার করে ক্যাটানিয়া পলিক্লিনিকে একটি চক্ষুরোগ অপারেশন করা হয়েছিল...
রঙের মাধ্যমে সূক্ষ্ম মোটর দক্ষতার বিকাশ শিশুদের লেখার মতো জটিল দক্ষতার জন্য প্রস্তুত করে। রঙ…
নৌ সেক্টর একটি সত্যিকারের বৈশ্বিক অর্থনৈতিক শক্তি, যা 150 বিলিয়ন বাজারের দিকে নেভিগেট করেছে...
গত সোমবার, ফাইন্যান্সিয়াল টাইমস ওপেনএআই-এর সাথে একটি চুক্তি ঘোষণা করেছে। FT তার বিশ্বমানের সাংবাদিকতার লাইসেন্স দেয়...