Ziyindlela elula yokuqhubeka nedatha kumsebenzisi wangoku. Esi sifundo siya kukunika isiseko sokusebenza kunye neeseshini eLaravel.
KwiLaravel, iseshoni yindlela yokugcina ulwazi, ukuphatha ngokufanelekileyo izicelo ezenziwe ngumsebenzisi. Xa umsebenzisi eqalisa usetyenziso lweLaravel, iseshoni iqalisa ngokuzenzekelayo loo msebenzisi. Idatha yeseshoni igcinwa kwiseva kwaye icookie encinci enesazisi esisodwa ithunyelwa kwisiphequluli somsebenzisi ukuchonga iseshoni.
Ungasebenzisa iseshoni ukugcina idatha ofuna ukuyisebenzisa kumaphepha amaninzi okanye izicelo. Umzekelo, ungasebenzisa iseshoni yokuqinisekisa umsebenzisi okanye ugcine olunye ulwazi ofuna ukulusebenzisa ngexesha leseshoni kwisicelo sakho.
Ukusebenzisa iiseshini kwiLaravel, kufuneka uqale uzinike amandla kwifayile config/session.php
yoqwalaselo. Kule fayile ungacwangcisa iiparameters zoqwalaselo ezinxulumene neeseshoni. Ngokomzekelo, ixesha leseshoni, umqhubi oza kusebenzisa ukugcina idatha yeseshoni, kunye nendawo yokugcina idatha yeseshoni.
Ngezantsi ngumzekelo wefayile sessions.php
kunye nobude beseshoni ye-120 imizuzwana, ukusetyenziswa kweefayile ezigcinwe kuluhlu 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',
];
Ungaqwalasela kwakhona iseshoni usebenzisa iinguqu zemeko-bume kwifayile .env
. Umzekelo, ukusebenzisa iseshoni yomqhubi wedatha kunye nedatha yeseshoni yogcino kwiseshini yetafile, kunye nohlobo lwe-MySQL ye-DB, unokuseta okuguquguqukayo okulandelayo:
SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_CONNECTION=mysql
SESSION_TABLE=sessions
Kukho iindlela ezintathu zokusebenza ngedatha yeseshoni eLaravel:
helper
della global session
;Request instance
. Kuzo zonke ezi meko, idatha oyigcinayo kwiseshoni iya kufumaneka kwizicelo ezilandelayo ezenziwe ngumsebenzisi ofanayo de iseshoni iphelelwe okanye itshatyalaliswe ngesandla.
KwiLaravel, usebenzisa umsebenzi Global Session Helper
yindlela efanelekileyo yokufikelela kwiinkonzo zeseshoni ezibonelelwa ngesakhelo. Ikuvumela ukuba ugcine kwaye ufumane idatha kwiseshini kwisicelo sakho. Nanku umzekelo wendlela yokusebenzisa i 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();
Unako kwakhona ukudlula ixabiso langaphambilidefiifakwe njengengxoxo yesibini kumsebenzi session
, eya kubuyiselwa ukuba iqhosha elikhankanyiweyo alifunyanwanga kwiseshoni:
$value = session('key', 'default');
Session Request
Kwi-Laravel, umzekelo wesicelo seseshoni ubhekiselele kwinto emele isicelo se-HTTP kwaye iqulethe ulwazi malunga nesicelo, njengendlela yokucela (i-GET, i-POST, i-PUT, njl.), i-URL yesicelo, izihloko zesicelo kunye nomzimba wesicelo. . Kananjalo iqulethe iindlela ezahlukeneyo ezinokusetyenziswa ukufumana kwakhona kunye nokukhohlisa olu lwazi.
Ngokwesiqhelo ufikelela kumzekelo we Session Request
ngokuguquguquka $request
kwisicelo seLaravel. Umzekelo, unokufikelela kwiseshoni ngomzekelo wesicelo usebenzisa umsebenzi womncedisi 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');
}
}
Kulo mzekelo, ukuguquguquka $request
ngumzekelo weklasi Illuminate\Http\Request
, emele isicelo sangoku seHTTP. Umsebenzi session
kumzekelo wesicelo ubuyisela umzekelo weklasi Illuminate\Session\Store
, ebonelela ngemisebenzi eyahlukeneyo yokusebenza kunye neseshoni.
Ercole Palmeri
Ukuphuhlisa izakhono zemoto ngokufaka imibala kulungiselela abantwana izakhono ezinzima ezifana nokubhala. Ukufaka umbala...
Icandelo lomkhosi wasemanzini ligunya lokwenyani loqoqosho lwehlabathi, elithe lajonga kwimarike ye-150 yeebhiliyoni...
NgoMvulo ophelileyo, i-Financial Times ibhengeze isivumelwano kunye ne-OpenAI. I-FT ikhupha iilayisensi kubuntatheli bayo obukumgangatho wehlabathi…
Izigidi zabantu zihlawula iinkonzo zokusasaza, zihlawula umrhumo wenyanga. Luluvo oluqhelekileyo ukuba…