लेख

लारवेल में सत्र क्या हैं, उदाहरण के साथ कॉन्फ़िगरेशन और उपयोग

लारवेल सत्र आपको जानकारी संग्रहीत करने और अपने वेब एप्लिकेशन में अनुरोधों के बीच इसका आदान-प्रदान करने की अनुमति देता है। 

वे वर्तमान उपयोगकर्ता के लिए डेटा को बनाए रखने का एक आसान तरीका हैं। यह ट्यूटोरियल आपको Laravel में सेशन के साथ काम करने की मूल बातें देगा।

लारवेल सत्र क्या है

Laravel में, एक सत्र उपयोगकर्ता द्वारा किए गए अनुरोधों को सही ढंग से प्रबंधित करने के लिए जानकारी संग्रहीत करने का एक तरीका है। जब कोई उपयोगकर्ता Laravel एप्लिकेशन प्रारंभ करता है, तो उस उपयोगकर्ता के लिए एक सत्र स्वचालित रूप से प्रारंभ हो जाता है। सत्र डेटा सर्वर पर संग्रहीत किया जाता है और एक विशिष्ट पहचानकर्ता के साथ एक छोटी सी कुकी सत्र की पहचान करने के लिए उपयोगकर्ता के ब्राउज़र को भेजी जाती है।

आप उस डेटा को संग्रहीत करने के लिए सत्र का उपयोग कर सकते हैं जिसे आप एकाधिक पृष्ठों या अनुरोधों में उपयोग करना चाहते हैं। उदाहरण के लिए, आप उपयोगकर्ता प्रमाणीकरण के लिए सत्र का उपयोग कर सकते हैं या अन्य जानकारी संग्रहीत कर सकते हैं जिसे आप अपने आवेदन पर सत्र के दौरान उपयोग करना चाहते हैं।

लारवेल में सत्र विन्यास

लारवेल में सत्रों का उपयोग करने के लिए, आपको पहले उन्हें फ़ाइल में सक्षम करना होगा config/session.php विन्यास का। इस फ़ाइल में सत्र से संबंधित कॉन्फ़िगरेशन पैरामीटर सेट करना संभव है। उदाहरण के लिए सत्र की अवधि, सत्र डेटा को संग्रहीत करने के लिए उपयोग किया जाने वाला ड्राइवर, और सत्र डेटा के लिए संग्रहण स्थान। 

फ़ाइल में निम्न कॉन्फ़िगरेशन विकल्प हैं:
  • ड्राइवर: प्री सेशन ड्राइवर निर्दिष्ट करता हैdefiउपयोग करने के लिए तैयार. लारवेल कई सत्र ड्राइवरों का समर्थन करता है: फ़ाइल, कुकी, डेटाबेस, एपीसी, मेम्केच्ड, रेडिस, डायनामोडब और ऐरे;
  • जीवनकाल: मिनटों की संख्या निर्दिष्ट करता है जिसमें सत्र को वैध माना जाना चाहिए;
  • समाप्त_पर_बंद: यदि सही पर सेट किया जाता है, तो उपयोगकर्ता का ब्राउज़र बंद होने पर सत्र समाप्त हो जाएगा;
  • एन्क्रिप्ट: सच का मतलब है कि ढांचा सत्र डेटा को संग्रहीत करने से पहले एन्क्रिप्ट करेगा;
  • फ़ाइलों: यदि फ़ाइल सत्र ड्राइवर का उपयोग किया जाता है, तो यह विकल्प फ़ाइल संग्रहण स्थान निर्दिष्ट करता है;
  • संबंध: यदि डेटाबेस सेशन ड्राइवर का उपयोग किया जाता है, तो यह विकल्प उपयोग किए जाने वाले डेटाबेस कनेक्शन को निर्दिष्ट करता है;
  • तालिका: यदि डेटाबेस सत्र ड्राइवर का उपयोग किया जाता है, तो यह विकल्प डेटाबेस तालिका को सत्र डेटा संग्रहीत करने के लिए उपयोग करने के लिए निर्दिष्ट करता है;
  • लाटरी: बेतरतीब ढंग से सत्र आईडी कुकी मान का चयन करने के लिए उपयोग किए जाने वाले मानों की एक सरणी;
  • कुकी: यह विकल्प कुकी का नाम निर्दिष्ट करता है जिसका उपयोग सत्र आईडी को संग्रहीत करने के लिए किया जाएगा। सत्र के लिए कुकी सेटिंग्स को कॉन्फ़िगर करने के लिए पथ, डोमेन, सुरक्षित, http_only और Same_site विकल्पों का उपयोग किया जाता है।

नीचे फ़ाइल का एक उदाहरण है 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-type DB के साथ, आप निम्न पर्यावरण चर सेट कर सकते हैं:

SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_CONNECTION=mysql
SESSION_TABLE=sessions

Laravel सत्र सेटअप

लारवेल में सत्र डेटा के साथ काम करने के तीन तरीके हैं: 

  • का उपयोग कर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();

आप प्री वैल्यू भी पास कर सकते हैंdefiफ़ंक्शन के दूसरे तर्क के रूप में नाइट 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

नवाचार समाचार पत्र
नवाचार पर सबसे महत्वपूर्ण समाचार देखना न भूलें। उन्हें ईमेल द्वारा प्राप्त करने के लिए साइन अप करें।

हाल के लेख

कैटेनिया पॉलीक्लिनिक में एक एप्पल दर्शक के साथ, संवर्धित वास्तविकता में अभिनव हस्तक्षेप

कैटेनिया पॉलीक्लिनिक में ऐप्पल विज़न प्रो कमर्शियल व्यूअर का उपयोग करके एक ऑप्थाल्मोप्लास्टी ऑपरेशन किया गया…

3 मई 2024

बच्चों के लिए रंग भरने वाले पन्नों के लाभ - सभी उम्र के लोगों के लिए जादू की दुनिया

रंग भरने के माध्यम से बढ़िया मोटर कौशल विकसित करना बच्चों को लेखन जैसे अधिक जटिल कौशल के लिए तैयार करता है। रंग भरना…

2 मई 2024

भविष्य यहाँ है: कैसे शिपिंग उद्योग वैश्विक अर्थव्यवस्था में क्रांति ला रहा है

नौसैनिक क्षेत्र एक सच्ची वैश्विक आर्थिक शक्ति है, जो 150 अरब के बाज़ार की ओर बढ़ चुका है...

1 मई 2024

आर्टिफिशियल इंटेलिजेंस द्वारा संसाधित सूचना के प्रवाह को विनियमित करने के लिए प्रकाशक और ओपनएआई ने समझौते पर हस्ताक्षर किए

पिछले सोमवार को, फाइनेंशियल टाइम्स ने OpenAI के साथ एक समझौते की घोषणा की। एफटी अपनी विश्व स्तरीय पत्रकारिता को लाइसेंस देता है...

अप्रैल 30 2024

अपनी भाषा में इनोवेशन पढ़ें

नवाचार समाचार पत्र
नवाचार पर सबसे महत्वपूर्ण समाचार देखना न भूलें। उन्हें ईमेल द्वारा प्राप्त करने के लिए साइन अप करें।

Seguici