Huma mod faċli biex tippersisti data għall-utent attwali. Dan it-tutorja jagħtik il-pedament biex taħdem b'sessjonijiet f'Laravel.
F'Laravel, sessjoni hija mod kif taħżen l-informazzjoni, biex timmaniġġja sew it-talbiet magħmula minn utent. Meta utent iniedi applikazzjoni Laravel, awtomatikament tibda sessjoni għal dak l-utent. Id-dejta tas-sessjoni hija maħżuna fuq is-server u cookie żgħira b'identifikatur uniku tintbagħat lill-browser tal-utent biex tidentifika s-sessjoni.
Tista' tuża s-sessjoni biex taħżen data li trid tuża fuq bosta paġni jew talbiet. Pereżempju, tista' tuża s-sessjoni għall-awtentikazzjoni tal-utent jew taħżen informazzjoni oħra li trid tuża matul is-sessjoni fuq l-applikazzjoni tiegħek.
Biex tuża sessjonijiet f'Laravel, l-ewwel trid tattivahom fil-fajl config/session.php
tal-konfigurazzjoni. F'dan il-fajl tista' tissettja parametri ta' konfigurazzjoni relatati mas-sessjonijiet. Pereżempju, it-tul tas-sessjoni, is-sewwieq li għandu juża għall-ħażna tad-dejta tas-sessjoni, u l-post tal-ħażna għad-dejta tas-sessjoni.
Hawn taħt hemm fajl eżempju sessions.php
b'tul ta 'sessjoni 120 sekonda, użu ta' fajls maħżuna fid-direttorju 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',
];
Tista 'wkoll tikkonfigura s-sessjoni billi tuża varjabbli ambjentali fil-fajl .env
. Pereżempju, biex tuża s-sewwieq tas-sessjoni tad-database u taħżen id-dejta tas-sessjoni f'tabella tas-sessjoni, bit-tip MySQL DB, tista 'tissettja l-varjabbli ambjentali li ġejjin:
SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_CONNECTION=mysql
SESSION_TABLE=sessions
Hemm tliet modi kif taħdem bid-dejta tas-sessjoni f'Laravel:
helper
ta ' global session
;Request instance
. F'dawn il-każijiet kollha, id-dejta li taħżen fis-sessjoni tkun disponibbli f'talbiet sussegwenti magħmula mill-istess utent sakemm is-sessjoni tiskadi jew tinqered manwalment.
F'Laravel, bl-użu tal-funzjoni Global Session Helper
huwa mod konvenjenti biex taċċessa s-servizzi tas-sessjoni pprovduti mill-qafas. Jippermettilek taħżen u tirkupra data mis-sessjoni fl-applikazzjoni tiegħek. Hawn eżempju ta 'kif tuża l- 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();
Tista 'wkoll tgħaddi valur predefinited bħala t-tieni argument għall-funzjoni session
, li tiġi rritornata jekk iċ-ċavetta speċifikata ma tinstabx fis-sessjoni:
$value = session('key', 'default');
Session Request
F'Laravel, istanza ta' talba ta' sessjoni tirreferi għal oġġett li jirrappreżenta talba HTTP u fih informazzjoni dwar it-talba, bħall-metodu ta' talba (GET, POST, PUT, eċċ.), URL tat-talba, headers tat-talba u l-korp tar-rikjesta. . Fiha wkoll diversi metodi li jistgħu jintużaw biex tiġi rkuprata u mmanipulata din l-informazzjoni.
Tipikament ikollok aċċess għall-istanza ta Session Request
permezz tal-varjabbli $request
f'applikazzjoni Laravel. Pereżempju, tista' taċċessa sessjoni permezz ta' istanza ta' talba billi tuża l-funzjoni helper 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');
}
}
F'dan l-eżempju, il-varjabbli $request
hija eżempju tal-klassi Illuminate\Http\Request
, li tirrappreżenta t-talba HTTP attwali. Il-funzjoni session
tal-istanza tat-talba tirritorna istanza tal-klassi Illuminate\Session\Store
, li tipprovdi diversi funzjonijiet biex taħdem mas-sessjoni.
Ercole Palmeri
Coveware minn Veeam se jkompli jipprovdi servizzi ta' rispons għal inċidenti ta' estorsjoni ċibernetika. Coveware se joffri forensiċi u kapaċitajiet ta' rimedju...
Il-manutenzjoni ta’ tbassir qed tirrivoluzzjona s-settur taż-żejt u l-gass, b’approċċ innovattiv u proattiv għall-ġestjoni tal-impjant...
Is-CMA tar-Renju Unit ħarġet twissija dwar l-imġieba ta 'Big Tech fis-suq tal-intelliġenza artifiċjali. Hemm…
Id-Digriet "Case Green", ifformulat mill-Unjoni Ewropea biex itejjeb l-effiċjenza enerġetika tal-bini, ikkonkluda l-proċess leġiżlattiv tiegħu bi...