लेख

Laravel मा सत्रहरू के हुन्, कन्फिगरेसन र उदाहरणहरूको साथ प्रयोग

Laravel सत्रहरूले तपाईंलाई जानकारी भण्डारण गर्न, र तपाईंको वेब अनुप्रयोगमा अनुरोधहरू बीच यसलाई आदान प्रदान गर्न अनुमति दिन्छ। 

तिनीहरू हालको प्रयोगकर्ताको लागि डेटा जारी राख्नको लागि एक सजिलो तरिका हो। यस ट्यूटोरियलले तपाईंलाई Laravel मा सत्रहरूसँग काम गर्ने आधारभूत कुराहरू दिनेछ।

Laravel सत्र के हो

Laravel मा, एक सत्र भनेको जानकारी भण्डारण गर्ने तरिका हो, प्रयोगकर्ताद्वारा गरिएका अनुरोधहरूलाई सही रूपमा ह्यान्डल गर्न। जब एक प्रयोगकर्ताले Laravel अनुप्रयोग सुरु गर्छ, एक सत्र स्वचालित रूपमा त्यो प्रयोगकर्ताको लागि सुरु हुन्छ। सत्र डेटा सर्भरमा भण्डारण गरिन्छ र एक अद्वितीय पहिचानकर्ताको साथ एउटा सानो कुकी सत्र पहिचान गर्न प्रयोगकर्ताको ब्राउजरमा पठाइन्छ।

तपाइँ डाटा भण्डारण गर्न सत्र प्रयोग गर्न सक्नुहुन्छ जुन तपाइँ धेरै पृष्ठहरू वा अनुरोधहरूमा प्रयोग गर्न चाहानुहुन्छ। उदाहरण को लागी, तपाइँ प्रयोगकर्ता प्रमाणीकरण को लागी सत्र को उपयोग गर्न सक्नुहुन्छ वा तपाइँको आवेदन मा सत्र को समयमा प्रयोग गर्न को लागी अन्य जानकारी भण्डारण गर्न सक्नुहुन्छ।

Laravel मा सत्र कन्फिगरेसन

Laravel मा सत्रहरू प्रयोग गर्न, तपाईंले पहिले फाइलमा तिनीहरूलाई सक्षम गर्नुपर्छ config/session.php कन्फिगरेसन को। यस फाइलमा सत्रहरूसँग सम्बन्धित कन्फिगरेसन प्यारामिटरहरू सेट गर्न सम्भव छ। उदाहरणका लागि सत्रको अवधि, सत्र डाटा भण्डारण गर्न प्रयोग गरिने ड्राइभर, र सत्र डाटाका लागि भण्डारण स्थान। 

फाइलमा निम्न कन्फिगरेसन विकल्पहरू छन्:
  • चालक: पूर्व सत्र चालक निर्दिष्ट गर्दछdefiप्रयोग गर्न तयार छ। Laravel ले धेरै सत्र चालकहरूलाई समर्थन गर्दछ: फाइल, कुकी, डाटाबेस, apc, memcached, redis, dynamodb, र array;
  • जीवन भरि: सत्र मान्य मानिने मिनेटको संख्या निर्दिष्ट गर्दछ;
  • expire_on_close: यदि सही मा सेट गरियो भने, प्रयोगकर्ताको ब्राउजर बन्द हुँदा सत्र समाप्त हुनेछ;
  • गुप्तिकरण गर्नुहोस्: true मतलब यो हो कि फ्रेमवर्कले सत्र डेटा भण्डारण गर्नु अघि इन्क्रिप्ट गर्नेछ;
  • फाइलहरू: यदि फाइल सत्र चालक प्रयोग गरिन्छ भने, यो विकल्पले फाइल भण्डारण स्थान निर्दिष्ट गर्दछ;
  • जडान: यदि डाटाबेस सत्र चालक प्रयोग गरिन्छ भने, यो विकल्पले प्रयोग गर्नको लागि डाटाबेस जडान निर्दिष्ट गर्दछ;
  • तालिका: यदि डाटाबेस सत्र चालक प्रयोग गरिन्छ भने, यो विकल्पले सत्र डाटा भण्डारण गर्न प्रयोग गर्न डाटाबेस तालिका निर्दिष्ट गर्दछ;
  • लटरी: अनियमित रूपमा सत्र ID कुकी मान चयन गर्न प्रयोग गरिने मानहरूको एर्रे;
  • कुकी: यो विकल्पले सत्र ID भण्डारण गर्न प्रयोग गरिने कुकीको नाम निर्दिष्ट गर्दछ। सत्रको लागि कुकी सेटिङहरू कन्फिगर गर्न पथ, डोमेन, सुरक्षित, http_only र same_site विकल्पहरू प्रयोग गरिन्छ।

तल एउटा फाइलको उदाहरण हो sessions.php सत्र अवधि १२० सेकेन्डको साथ, डाइरेक्टरीमा भण्डारण गरिएका फाइलहरूको प्रयोग 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

Laravel सत्र सेटअप

Laravel मा सत्र डेटा संग काम गर्न तीन तरिकाहरू छन्: 

  • प्रयोग गरेरhelper डेला global session;
  • सत्र मुखौटा प्रयोग गर्दै;
  • a मार्फत Request instance

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

नवाचार न्यूजलेटर
नवीनता मा सबैभन्दा महत्त्वपूर्ण समाचार नछुटाउनुहोस्। तिनीहरूलाई ईमेल द्वारा प्राप्त गर्न साइन अप गर्नुहोस्।

ग्लोबल सत्र सहयोगी

Laravel मा, प्रकार्य प्रयोग गरेर 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कार्यको लागि दोस्रो तर्कको रूपमा nited session, जुन सत्रमा निर्दिष्ट कुञ्जी फेला परेन भने फिर्ता गरिनेछ:

$value = session('key', 'default');

को उदाहरण Session Request

Laravel मा, सत्र अनुरोध उदाहरणले HTTP अनुरोधलाई प्रतिनिधित्व गर्ने वस्तुलाई जनाउँछ र अनुरोध विधि (GET, POST, PUT, आदि), अनुरोध URL, अनुरोधको हेडर र अनुरोधको मुख्य भाग जस्ता अनुरोधको बारेमा जानकारी समावेश गर्दछ। । यसले विभिन्न विधिहरू पनि समावेश गर्दछ जुन यो जानकारी पुन: प्राप्त गर्न र हेरफेर गर्न प्रयोग गर्न सकिन्छ।

सामान्यतया तपाईं को उदाहरण पहुँच गर्नुहोस् Session Request चर मार्फत $request Laravel अनुप्रयोगमा। उदाहरणका लागि, सहायक प्रकार्य प्रयोग गरेर अनुरोध उदाहरण मार्फत सत्र पहुँच गर्न सकिन्छ 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 बिलियन बजारमा नेभिगेट गरेको छ ...

1 मई 2024

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

गत सोमबार, फाइनान्सियल टाइम्सले OpenAI सँग सम्झौताको घोषणा गर्‍यो। FT ले आफ्नो विश्व स्तरीय पत्रकारिता लाई लाइसेन्स...

30 अप्रिल 2024

अनलाइन भुक्तानीहरू: यहाँ कसरी स्ट्रिमिङ सेवाहरूले तपाईंलाई सधैंभरि भुक्तान गर्छ

लाखौं मानिसहरूले स्ट्रिमिङ सेवाहरूको लागि भुक्तानी गर्छन्, मासिक सदस्यता शुल्क तिर्छन्। यो आम धारणा छ कि तपाईं…

29 अप्रिल 2024

Veeam ले ransomware को लागि सुरक्षा देखि प्रतिक्रिया र रिकभरी को लागी सबै भन्दा व्यापक समर्थन को सुविधा दिन्छ

Veeam द्वारा Coveware ले साइबर जबरजस्ती घटना प्रतिक्रिया सेवाहरू प्रदान गर्न जारी राख्नेछ। Coveware ले फोरेन्सिक र उपचार क्षमताहरू प्रदान गर्दछ ...

23 अप्रिल 2024

आफ्नो भाषामा नवीनता पढ्नुहोस्

नवाचार न्यूजलेटर
नवीनता मा सबैभन्दा महत्त्वपूर्ण समाचार नछुटाउनुहोस्। तिनीहरूलाई ईमेल द्वारा प्राप्त गर्न साइन अप गर्नुहोस्।

हामीलाई पछ्याउनुहोस्