Need on lihtne viis praeguse kasutaja andmete säilitamiseks. See õpetus annab teile Laraveli seanssidega töötamise põhitõed.
Laravelis on seanss viis teabe salvestamiseks, kasutaja tehtud päringute korrektseks käsitlemiseks. Kui kasutaja käivitab Laraveli rakenduse, käivitatakse selle kasutaja jaoks automaatselt seanss. Seansiandmed salvestatakse serverisse ja kasutaja brauserisse saadetakse seansi tuvastamiseks väike unikaalse identifikaatoriga küpsis.
Seansi abil saate salvestada andmeid, mida soovite kasutada mitmel lehel või päringul. Näiteks võite kasutada seanssi kasutaja autentimiseks või salvestada muud teavet, mida soovite oma rakenduses seansi ajal kasutada.
Seansside kasutamiseks Laravelis peate need esmalt failis lubama config/session.php
konfiguratsioonist. Selles failis on võimalik määrata seanssidega seotud konfiguratsiooniparameetreid. Näiteks seansi kestus, seansiandmete salvestamiseks kasutatav draiver ja seansiandmete salvestuskoht.
Allpool on näide failist sessions.php
seansi kestusega 120 sekundit, kataloogi salvestatud failide kasutamine 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',
];
Seansi saate seadistada ka faili keskkonnamuutujate abil .env
. Näiteks andmebaasi seansi draiveri kasutamiseks ja seansiandmete salvestamiseks seansitabelisse MySQL-tüüpi DB-ga saate määrata järgmised keskkonnamuutujad.
SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_CONNECTION=mysql
SESSION_TABLE=sessions
Laravelis on seansiandmetega töötamiseks kolm võimalust:
helper
kohta global session
;Request instance
. Kõigil neil juhtudel on seansi ajal salvestatud andmed saadaval sama kasutaja hilisemates päringutes kuni seansi aegumiseni või käsitsi hävitamiseni.
Laravelis funktsiooni kasutades Global Session Helper
see on mugav viis raamistiku pakutavatele seansiteenustele juurde pääseda. See võimaldab teil oma rakenduses seansi andmeid salvestada ja hankida. Siin on näide selle kohta, kuidas kasutada 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();
Saate edastada ka eelväärtusedefinite funktsiooni teise argumendina session
, mis tagastatakse, kui määratud võtit seansist ei leitud:
$value = session('key', 'default');
Session Request
Laravelis viitab seansipäringu eksemplar objektile, mis esindab HTTP-päringut ja sisaldab teavet päringu kohta, nagu päringu meetod (GET, POST, PUT jne), päringu URL, päringu päised ja päringu keha . See sisaldab ka erinevaid meetodeid, mida saab selle teabe hankimiseks ja manipuleerimiseks kasutada.
Tavaliselt pääsete juurde eksemplarile Session Request
muutuja kaudu $request
Laraveli rakenduses. Näiteks pääseb seansile juurde päringu eksemplari kaudu, kasutades abifunktsiooni 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');
}
}
Selles näites on muutuja $request
see on klassi näide Illuminate\Http\Request
, mis esindab praegust HTTP-päringut. Funktsioon session
päringu eksemplar tagastab klassi eksemplari Illuminate\Session\Store
, mis pakub seansiga töötamiseks erinevaid funktsioone.
Ercole Palmeri
Veeami Coveware jätkab küberväljapressimise juhtumitele reageerimise teenuste pakkumist. Coveware pakub kohtuekspertiisi ja heastamisvõimalusi…
Ennustav hooldus muudab nafta- ja gaasisektori pöördeliseks uuendusliku ja ennetava lähenemisega tehaste juhtimisele.…
Ühendkuningriigi CMA on väljastanud hoiatuse Big Techi käitumise kohta tehisintellekti turul. Seal…
Euroopa Liidu poolt hoonete energiatõhususe suurendamiseks koostatud roheliste majade dekreet on lõpetanud oma seadusandliku protsessi…