നിലവിലെ ഉപയോക്താവിന് ഡാറ്റ നിലനിർത്താനുള്ള എളുപ്പവഴിയാണ് അവ. ഈ ട്യൂട്ടോറിയൽ Laravel ലെ സെഷനുകൾക്കൊപ്പം പ്രവർത്തിക്കുന്നതിനുള്ള അടിസ്ഥാനകാര്യങ്ങൾ നിങ്ങൾക്ക് നൽകും.
Laravel-ൽ, ഒരു സെഷൻ എന്നത് വിവരങ്ങൾ സംഭരിക്കുന്നതിനും ഒരു ഉപയോക്താവ് നടത്തുന്ന അഭ്യർത്ഥനകൾ ശരിയായി കൈകാര്യം ചെയ്യുന്നതിനുമുള്ള ഒരു മാർഗമാണ്. ഒരു ഉപയോക്താവ് Laravel ആപ്ലിക്കേഷൻ ആരംഭിക്കുമ്പോൾ, ആ ഉപയോക്താവിനായി ഒരു സെഷൻ സ്വയമേവ ആരംഭിക്കും. സെഷൻ ഡാറ്റ സെർവറിൽ സംഭരിക്കുകയും സെഷൻ തിരിച്ചറിയാൻ ഒരു അദ്വിതീയ ഐഡന്റിഫയർ ഉള്ള ഒരു ചെറിയ കുക്കി ഉപയോക്താവിന്റെ ബ്രൗസറിലേക്ക് അയയ്ക്കുകയും ചെയ്യുന്നു.
ഒന്നിലധികം പേജുകളിലോ അഭ്യർത്ഥനകളിലോ നിങ്ങൾ ഉപയോഗിക്കാൻ ആഗ്രഹിക്കുന്ന ഡാറ്റ സംഭരിക്കുന്നതിന് നിങ്ങൾക്ക് സെഷൻ ഉപയോഗിക്കാം. ഉദാഹരണത്തിന്, ഉപയോക്തൃ പ്രാമാണീകരണത്തിനായി നിങ്ങൾ സെഷൻ ഉപയോഗിച്ചേക്കാം അല്ലെങ്കിൽ നിങ്ങളുടെ ആപ്ലിക്കേഷനിൽ സെഷനിൽ ഉപയോഗിക്കാൻ ആഗ്രഹിക്കുന്ന മറ്റ് വിവരങ്ങൾ സംഭരിച്ചേക്കാം.
Laravel-ൽ സെഷനുകൾ ഉപയോഗിക്കുന്നതിന്, നിങ്ങൾ ആദ്യം അവ ഫയലിൽ പ്രവർത്തനക്ഷമമാക്കണം 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-ടൈപ്പ് ഡിബി ഉപയോഗിച്ച്, നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന പരിസ്ഥിതി വേരിയബിളുകൾ സജ്ജമാക്കാൻ കഴിയും:
SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_CONNECTION=mysql
SESSION_TABLE=sessions
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
ആപ്പിൾ വിഷൻ പ്രോ കൊമേഴ്സ്യൽ വ്യൂവർ ഉപയോഗിച്ചുള്ള ഒഫ്താൽമോപ്ലാസ്റ്റി ഓപ്പറേഷൻ കാറ്റാനിയ പോളിക്ലിനിക്കിൽ നടത്തി.
കളറിംഗ് വഴി മികച്ച മോട്ടോർ കഴിവുകൾ വികസിപ്പിക്കുന്നത് എഴുത്ത് പോലെയുള്ള കൂടുതൽ സങ്കീർണ്ണമായ കഴിവുകൾക്ക് കുട്ടികളെ സജ്ജമാക്കുന്നു. നിറം കൊടുക്കാൻ...
നാവിക മേഖല ഒരു യഥാർത്ഥ ആഗോള സാമ്പത്തിക ശക്തിയാണ്, അത് 150 ബില്യൺ വിപണിയിലേക്ക് നാവിഗേറ്റ് ചെയ്തു...
കഴിഞ്ഞ തിങ്കളാഴ്ച, ഫിനാൻഷ്യൽ ടൈംസ് ഓപ്പൺഎഐയുമായി ഒരു കരാർ പ്രഖ്യാപിച്ചു. FT അതിൻ്റെ ലോകോത്തര പത്രപ്രവർത്തനത്തിന് ലൈസൻസ് നൽകുന്നു…