Ato janë një mënyrë e thjeshtë për të ruajtur të dhënat për përdoruesin aktual. Ky tutorial do t'ju japë bazat e punës me sesionet në Laravel.
Në Laravel, një seancë është një mënyrë për të ruajtur informacionin, për të trajtuar saktë kërkesat e bëra nga një përdorues. Kur një përdorues fillon një aplikacion Laravel, një sesion fillon automatikisht për atë përdorues. Të dhënat e sesionit ruhen në server dhe një cookie e vogël me një identifikues unik dërgohet në shfletuesin e përdoruesit për të identifikuar seancën.
Ju mund të përdorni sesionin për të ruajtur të dhënat që dëshironi të përdorni nëpër faqe ose kërkesa të shumta. Për shembull, mund të përdorni seancën për vërtetimin e përdoruesit ose të ruani informacione të tjera që dëshironi të përdorni gjatë seancës në aplikacionin tuaj.
Për të përdorur sesionet në Laravel, fillimisht duhet t'i aktivizoni ato në skedar config/session.php
të konfigurimit. Në këtë skedar është e mundur të vendosni parametrat e konfigurimit që lidhen me sesionet. Të tilla si kohëzgjatja e seancës, drejtuesi që do të përdoret për ruajtjen e të dhënave të sesionit dhe vendndodhja e ruajtjes për të dhënat e sesionit.
Më poshtë është një shembull i një skedari sessions.php
me kohëzgjatje sesioni 120 sekonda, përdorimi i skedarëve të ruajtur në drejtori 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',
];
Ju gjithashtu mund të konfiguroni seancën duke përdorur variablat e mjedisit në skedar .env
. Për shembull, për të përdorur drejtuesin e sesionit të bazës së të dhënave dhe për të ruajtur të dhënat e sesionit në një tabelë sesioni, me DB të tipit MySQL, mund të vendosni variablat e mëposhtëm të mjedisit:
SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_CONNECTION=mysql
SESSION_TABLE=sessions
Ekzistojnë tre mënyra për të punuar me të dhënat e sesionit në Laravel:
helper
i global session
;Request instance
. Në të gjitha këto raste, të dhënat që ruani në seancë do të jenë të disponueshme në kërkesat e mëvonshme të bëra nga i njëjti përdorues derisa seanca të skadojë ose të shkatërrohet manualisht.
Në Laravel, duke përdorur funksionin Global Session Helper
është një mënyrë e përshtatshme për të hyrë në shërbimet e sesioneve të ofruara nga korniza. Kjo ju lejon të ruani dhe të merrni të dhëna nga sesioni në aplikacionin tuaj. Këtu është një shembull se si të përdorni 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();
Ju gjithashtu mund të kaloni një vlerë paraprakedefinite si argumenti i dytë i funksionit session
, i cili do të kthehet nëse çelësi i specifikuar nuk gjendet në seancë:
$value = session('key', 'default');
Session Request
Në Laravel, një shembull i kërkesës për sesion i referohet një objekti që përfaqëson një kërkesë HTTP dhe përmban informacione rreth kërkesës, të tilla si metoda e kërkesës (GET, POST, PUT, etj.), URL-ja e kërkesës, titujt e kërkesës dhe trupi i kërkesës . Ai gjithashtu përmban metoda të ndryshme që mund të përdoren për të tërhequr dhe manipuluar këtë informacion.
Zakonisht ju aksesoni shembullin e Session Request
përmes ndryshores $request
në një aplikacion Laravel. Për shembull, një sesion mund të aksesohet përmes një shembulli kërkese duke përdorur funksionin ndihmës 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');
}
}
Në këtë shembull, ndryshorja $request
është një shembull i klasës Illuminate\Http\Request
, e cila përfaqëson kërkesën aktuale HTTP. Funksioni session
instanca e kërkesës kthen një shembull të klasës Illuminate\Session\Store
, i cili ofron funksione të ndryshme për të punuar me sesionin.
Ercole Palmeri
Një operacion oftalmoplastik duke përdorur shikuesin komercial Apple Vision Pro u krye në Poliklinikën Catania…
Zhvillimi i aftësive të shkëlqyera motorike përmes ngjyrosjes i përgatit fëmijët për aftësi më komplekse si shkrimi. Për të ngjyrosur…
Sektori detar është një fuqi e vërtetë ekonomike globale, e cila ka lundruar drejt një tregu prej 150 miliardë...
Të hënën e kaluar, Financial Times njoftoi një marrëveshje me OpenAI. FT licencon gazetarinë e saj të klasit botëror…