ലേഖനങ്ങൾ

Laravel-ലെ സെഷനുകൾ എന്തൊക്കെയാണ്, കോൺഫിഗറേഷനും ഉദാഹരണങ്ങൾക്കൊപ്പം ഉപയോഗവും

Laravel സെഷനുകൾ നിങ്ങളെ വിവരങ്ങൾ സംഭരിക്കാനും നിങ്ങളുടെ വെബ് ആപ്ലിക്കേഷനിലെ അഭ്യർത്ഥനകൾക്കിടയിൽ കൈമാറാനും അനുവദിക്കുന്നു. 

നിലവിലെ ഉപയോക്താവിന് ഡാറ്റ നിലനിർത്താനുള്ള എളുപ്പവഴിയാണ് അവ. ഈ ട്യൂട്ടോറിയൽ Laravel ലെ സെഷനുകൾക്കൊപ്പം പ്രവർത്തിക്കുന്നതിനുള്ള അടിസ്ഥാനകാര്യങ്ങൾ നിങ്ങൾക്ക് നൽകും.

എന്താണ് Laravel സെഷൻ

Laravel-ൽ, ഒരു സെഷൻ എന്നത് വിവരങ്ങൾ സംഭരിക്കുന്നതിനും ഒരു ഉപയോക്താവ് നടത്തുന്ന അഭ്യർത്ഥനകൾ ശരിയായി കൈകാര്യം ചെയ്യുന്നതിനുമുള്ള ഒരു മാർഗമാണ്. ഒരു ഉപയോക്താവ് Laravel ആപ്ലിക്കേഷൻ ആരംഭിക്കുമ്പോൾ, ആ ഉപയോക്താവിനായി ഒരു സെഷൻ സ്വയമേവ ആരംഭിക്കും. സെഷൻ ഡാറ്റ സെർവറിൽ സംഭരിക്കുകയും സെഷൻ തിരിച്ചറിയാൻ ഒരു അദ്വിതീയ ഐഡന്റിഫയർ ഉള്ള ഒരു ചെറിയ കുക്കി ഉപയോക്താവിന്റെ ബ്രൗസറിലേക്ക് അയയ്ക്കുകയും ചെയ്യുന്നു.

ഒന്നിലധികം പേജുകളിലോ അഭ്യർത്ഥനകളിലോ നിങ്ങൾ ഉപയോഗിക്കാൻ ആഗ്രഹിക്കുന്ന ഡാറ്റ സംഭരിക്കുന്നതിന് നിങ്ങൾക്ക് സെഷൻ ഉപയോഗിക്കാം. ഉദാഹരണത്തിന്, ഉപയോക്തൃ പ്രാമാണീകരണത്തിനായി നിങ്ങൾ സെഷൻ ഉപയോഗിച്ചേക്കാം അല്ലെങ്കിൽ നിങ്ങളുടെ ആപ്ലിക്കേഷനിൽ സെഷനിൽ ഉപയോഗിക്കാൻ ആഗ്രഹിക്കുന്ന മറ്റ് വിവരങ്ങൾ സംഭരിച്ചേക്കാം.

Laravel ലെ സെഷൻ കോൺഫിഗറേഷൻ

Laravel-ൽ സെഷനുകൾ ഉപയോഗിക്കുന്നതിന്, നിങ്ങൾ ആദ്യം അവ ഫയലിൽ പ്രവർത്തനക്ഷമമാക്കണം config/session.php കോൺഫിഗറേഷന്റെ. ഈ ഫയലിൽ സെഷനുകളുമായി ബന്ധപ്പെട്ട കോൺഫിഗറേഷൻ പാരാമീറ്ററുകൾ സജ്ജമാക്കാൻ സാധിക്കും. ഉദാഹരണത്തിന് സെഷന്റെ ദൈർഘ്യം, സെഷൻ ഡാറ്റ സംഭരിക്കുന്നതിന് ഉപയോഗിക്കേണ്ട ഡ്രൈവർ, സെഷൻ ഡാറ്റയ്ക്കുള്ള സ്റ്റോറേജ് ലൊക്കേഷൻ. 

ഫയലിന് ഇനിപ്പറയുന്ന കോൺഫിഗറേഷൻ ഓപ്ഷനുകൾ ഉണ്ട്:
  • ഡ്രൈവർ: പ്രീ സെഷൻ ഡ്രൈവർ വ്യക്തമാക്കുന്നുdefiഉപയോഗിക്കാൻ തയ്യാറാണ്. Laravel നിരവധി സെഷൻ ഡ്രൈവറുകൾ പിന്തുണയ്ക്കുന്നു: ഫയൽ, കുക്കി, ഡാറ്റാബേസ്, apc, memcached, redis, dynamodb, കൂടാതെ അറേ;
  • ആജീവനാന്തം: സെഷൻ സാധുതയുള്ളതായി കണക്കാക്കേണ്ട മിനിറ്റുകളുടെ എണ്ണം വ്യക്തമാക്കുന്നു;
  • അടയ്‌ക്കുമ്പോൾ_അവസാനിക്കുന്നു: ട്രൂ എന്ന് സജ്ജീകരിച്ചാൽ, ഉപയോക്താവിന്റെ ബ്രൗസർ അടയ്‌ക്കുമ്പോൾ സെഷൻ കാലഹരണപ്പെടും;
  • എൻക്രിപ്റ്റ് ചെയ്യുക: true അർത്ഥമാക്കുന്നത്, സംഭരിക്കപ്പെടുന്നതിന് മുമ്പ് ചട്ടക്കൂട് സെഷൻ ഡാറ്റ എൻക്രിപ്റ്റ് ചെയ്യും എന്നാണ്;
  • ഫയലുകൾ: ഫയൽ സെഷൻ ഡ്രൈവറാണ് ഉപയോഗിക്കുന്നതെങ്കിൽ, ഈ ഐച്ഛികം ഫയൽ സ്റ്റോറേജ് ലൊക്കേഷൻ വ്യക്തമാക്കുന്നു;
  • കണക്ഷൻ: ഡാറ്റാബേസ് സെഷൻ ഡ്രൈവറാണ് ഉപയോഗിക്കുന്നതെങ്കിൽ, ഈ ഐച്ഛികം ഉപയോഗിക്കേണ്ട ഡാറ്റാബേസ് കണക്ഷൻ വ്യക്തമാക്കുന്നു;
  • മേശ: ഡാറ്റാബേസ് സെഷൻ ഡ്രൈവറാണ് ഉപയോഗിക്കുന്നതെങ്കിൽ, സെഷൻ ഡാറ്റ സംഭരിക്കുന്നതിന് ഉപയോഗിക്കേണ്ട ഡാറ്റാബേസ് പട്ടിക ഈ ഐച്ഛികം വ്യക്തമാക്കുന്നു;
  • ലോട്ടറി: ഒരു സെഷൻ ഐഡി കുക്കി മൂല്യം ക്രമരഹിതമായി തിരഞ്ഞെടുക്കാൻ ഉപയോഗിക്കുന്ന മൂല്യങ്ങളുടെ ഒരു നിര;
  • കുക്കി: സെഷൻ ഐഡി സംഭരിക്കാൻ ഉപയോഗിക്കുന്ന കുക്കിയുടെ പേര് ഈ ഓപ്‌ഷൻ വ്യക്തമാക്കുന്നു. സെഷനുവേണ്ടി കുക്കി ക്രമീകരണങ്ങൾ കോൺഫിഗർ ചെയ്യുന്നതിന് പാത, ഡൊമെയ്ൻ, സുരക്ഷിതം, 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-ടൈപ്പ് ഡിബി ഉപയോഗിച്ച്, നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന പരിസ്ഥിതി വേരിയബിളുകൾ സജ്ജമാക്കാൻ കഴിയും:

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

Laravel സെഷൻ സജ്ജീകരണം

Laravel-ലെ സെഷൻ ഡാറ്റ ഉപയോഗിച്ച് പ്രവർത്തിക്കാൻ മൂന്ന് വഴികളുണ്ട്: 

  • ഉപയോഗിച്ച്helper ഡെല്ല global session;
  • സെഷൻ മുൻഭാഗം ഉപയോഗിക്കുന്നു;
  • എ വഴി 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ഫംഗ്‌ഷനിലേക്കുള്ള രണ്ടാമത്തെ ആർഗ്യുമെന്റായി nite 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

ഇന്നൊവേഷൻ വാർത്താക്കുറിപ്പ്
നവീകരണത്തെക്കുറിച്ചുള്ള ഏറ്റവും പ്രധാനപ്പെട്ട വാർത്തകൾ നഷ്ടപ്പെടുത്തരുത്. ഇമെയിൽ വഴി അവ സ്വീകരിക്കുന്നതിന് സൈൻ അപ്പ് ചെയ്യുക.

സമീപകാല ലേഖനങ്ങൾ

കാറ്റാനിയ പോളിക്ലിനിക്കിൽ ആപ്പിൾ വ്യൂവർക്കൊപ്പം ഓഗ്മെൻ്റഡ് റിയാലിറ്റിയിൽ നൂതനമായ ഇടപെടൽ

ആപ്പിൾ വിഷൻ പ്രോ കൊമേഴ്‌സ്യൽ വ്യൂവർ ഉപയോഗിച്ചുള്ള ഒഫ്താൽമോപ്ലാസ്റ്റി ഓപ്പറേഷൻ കാറ്റാനിയ പോളിക്ലിനിക്കിൽ നടത്തി.

20 മെയ് 2013

കുട്ടികൾക്കുള്ള കളറിംഗ് പേജുകളുടെ പ്രയോജനങ്ങൾ - എല്ലാ പ്രായക്കാർക്കും മാന്ത്രിക ലോകം

കളറിംഗ് വഴി മികച്ച മോട്ടോർ കഴിവുകൾ വികസിപ്പിക്കുന്നത് എഴുത്ത് പോലെയുള്ള കൂടുതൽ സങ്കീർണ്ണമായ കഴിവുകൾക്ക് കുട്ടികളെ സജ്ജമാക്കുന്നു. നിറം കൊടുക്കാൻ...

20 മെയ് 2013

ഭാവി ഇതാ: ഷിപ്പിംഗ് വ്യവസായം ആഗോള സമ്പദ്‌വ്യവസ്ഥയെ എങ്ങനെ വിപ്ലവം ചെയ്യുന്നു

നാവിക മേഖല ഒരു യഥാർത്ഥ ആഗോള സാമ്പത്തിക ശക്തിയാണ്, അത് 150 ബില്യൺ വിപണിയിലേക്ക് നാവിഗേറ്റ് ചെയ്തു...

20 മെയ് 2013

ആർട്ടിഫിഷ്യൽ ഇൻ്റലിജൻസ് പ്രോസസ്സ് ചെയ്യുന്ന വിവരങ്ങളുടെ ഒഴുക്ക് നിയന്ത്രിക്കുന്നതിനുള്ള കരാറുകളിൽ പ്രസാധകരും ഓപ്പൺഎഐയും ഒപ്പുവെക്കുന്നു

കഴിഞ്ഞ തിങ്കളാഴ്ച, ഫിനാൻഷ്യൽ ടൈംസ് ഓപ്പൺഎഐയുമായി ഒരു കരാർ പ്രഖ്യാപിച്ചു. FT അതിൻ്റെ ലോകോത്തര പത്രപ്രവർത്തനത്തിന് ലൈസൻസ് നൽകുന്നു…

ഏപ്രിൽ 29 ഏപ്രിൽ

നിങ്ങളുടെ ഭാഷയിൽ ഇന്നൊവേഷൻ വായിക്കുക

ഇന്നൊവേഷൻ വാർത്താക്കുറിപ്പ്
നവീകരണത്തെക്കുറിച്ചുള്ള ഏറ്റവും പ്രധാനപ്പെട്ട വാർത്തകൾ നഷ്ടപ്പെടുത്തരുത്. ഇമെയിൽ വഴി അവ സ്വീകരിക്കുന്നതിന് സൈൻ അപ്പ് ചെയ്യുക.

പിന്തുടരുക ഞങ്ങളെ

സമീപകാല ലേഖനങ്ങൾ

ടാഗ്