Þau eru auðveld leið til að viðhalda gögnum fyrir núverandi notanda. Þessi kennsla mun gefa þér grunnatriði þess að vinna með lotur í Laravel.
Í Laravel er fundur leið til að geyma upplýsingar, til að meðhöndla beiðnir sem notandi gerir rétt. Þegar notandi ræsir Laravel forrit er fundur sjálfkrafa ræstur fyrir þann notanda. Fundargögn eru geymd á þjóninum og lítil kex með einstöku auðkenni er send í vafra notandans til að auðkenna lotuna.
Þú getur notað lotu til að geyma gögn sem þú vilt nota á mörgum síðum eða beiðnum. Til dæmis gætirðu notað lotuna til notendaauðkenningar eða geymt aðrar upplýsingar sem þú vilt nota á meðan á lotunni stendur í forritinu þínu.
Til að nota lotur í Laravel verður þú fyrst að virkja þær í skránni config/session.php
af uppsetningu. Í þessari skrá er hægt að stilla stillingarbreytur sem tengjast lotum. Til dæmis lengd lotunnar, bílstjórinn sem á að nota til að geyma lotugögnin og geymslustað fyrir lotugögnin.
Hér að neðan er dæmi um skrá sessions.php
með lotulengd 120 sekúndur, notkun skráa sem geymdar eru í möppunni 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',
];
Þú getur líka stillt lotuna með því að nota umhverfisbreytur í skránni .env
. Til dæmis, til að nota gagnagrunnslotubílstjórann og geyma lotugögn í lotutöflu, með MySQL-gerð DB, geturðu stillt eftirfarandi umhverfisbreytur:
SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_CONNECTION=mysql
SESSION_TABLE=sessions
Það eru þrjár leiðir til að vinna með lotugögn í Laravel:
helper
á global session
;Request instance
. Í öllum þessum tilfellum verða gögnin sem þú geymir í lotunni tiltæk í síðari beiðnum frá sama notanda þar til lotan rennur út eða er eytt handvirkt.
Í Laravel, með því að nota aðgerðina Global Session Helper
það er þægileg leið til að fá aðgang að lotuþjónustunni sem ramman býður upp á. Það gerir þér kleift að geyma og sækja gögn úr lotunni í forritinu þínu. Hér er dæmi um hvernig á að nota 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();
Þú getur líka staðist fyrirfram gildidefinite sem önnur rök fallsins session
, sem verður skilað ef tilgreindur lykill finnst ekki í lotunni:
$value = session('key', 'default');
Session Request
Í Laravel vísar lotubeiðni til hluts sem táknar HTTP beiðni og inniheldur upplýsingar um beiðnina, svo sem beiðniaðferðina (GET, POST, PUT, osfrv.), slóð beiðninnar, hausar beiðninnar og meginmál beiðninnar. . Það inniheldur einnig ýmsar aðferðir sem hægt er að nota til að sækja og vinna með þessar upplýsingar.
Venjulega hefurðu aðgang að tilvikinu á Session Request
í gegnum breytuna $request
í Laravel forriti. Til dæmis er hægt að nálgast lotu í gegnum beiðnitilvik með því að nota hjálparaðgerðina 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');
}
}
Í þessu dæmi er breytan $request
það er dæmi um bekkinn Illuminate\Http\Request
, sem táknar núverandi HTTP beiðni. Aðgerðin session
beiðni tilvik skilar tilviki af bekknum Illuminate\Session\Store
, sem veitir ýmsar aðgerðir til að vinna með lotuna.
Ercole Palmeri
Síðasta mánudag tilkynnti Financial Times um samning við OpenAI. FT leyfir heimsklassa blaðamennsku…
Milljónir manna borga fyrir streymisþjónustu og greiða mánaðarlega áskriftargjöld. Það er almenn skoðun að þú…
Coveware frá Veeam mun halda áfram að veita viðbragðsþjónustu fyrir tölvukúgun. Coveware mun bjóða upp á réttar- og úrbótamöguleika ...
Forspárviðhald er að gjörbylta olíu- og gasgeiranum, með nýstárlegri og fyrirbyggjandi nálgun við verksmiðjustjórnun.…