Wao ni njia rahisi ya kuendelea na data kwa mtumiaji wa sasa. Mafunzo haya yatakupa misingi ya kufanya kazi na vipindi katika Laravel.
Katika Laravel, kipindi ni njia ya kuhifadhi habari, kushughulikia kwa usahihi maombi yaliyotolewa na mtumiaji. Mtumiaji anapoanzisha programu ya Laravel, kipindi huanzishwa kiotomatiki kwa mtumiaji huyo. Data ya kipindi huhifadhiwa kwenye seva na kidakuzi kidogo chenye kitambulisho cha kipekee hutumwa kwa kivinjari cha mtumiaji ili kutambua kipindi.
Unaweza kutumia kipindi kuhifadhi data ambayo ungependa kutumia kwenye kurasa nyingi au maombi. Kwa mfano, unaweza kutumia kipindi kwa uthibitishaji wa mtumiaji au kuhifadhi maelezo mengine ambayo ungependa kutumia wakati wa kipindi kwenye programu yako.
Ili kutumia vipindi katika Laravel, lazima kwanza uwashe kwenye faili config/session.php
ya usanidi. Katika faili hii inawezekana kuweka vigezo vya usanidi kuhusiana na vikao. Kwa mfano muda wa kipindi, kiendeshi cha kutumia kuhifadhi data ya kipindi, na mahali pa kuhifadhi data ya kipindi.
Chini ni mfano wa faili sessions.php
na muda wa kikao sekunde 120, matumizi ya faili zilizohifadhiwa kwenye saraka 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',
];
Unaweza pia kusanidi kikao kwa kutumia anuwai za mazingira kwenye faili .env
. Kwa mfano, kutumia kiendesha kikao cha hifadhidata na kuhifadhi data ya kipindi katika jedwali la kikao, na DB ya aina ya MySQL, unaweza kuweka vijiumbe vifuatavyo vya mazingira:
SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_CONNECTION=mysql
SESSION_TABLE=sessions
Kuna njia tatu za kufanya kazi na data ya kikao katika Laravel:
helper
ya global session
;Request instance
. Katika matukio haya yote, data utakayohifadhi kwenye kipindi itapatikana katika maombi yanayofuata yatakayotolewa na mtumiaji huyo huyo hadi kipindi kitakapoisha au kuharibiwa mwenyewe.
Katika Laravel, kwa kutumia kazi Global Session Helper
ni njia rahisi ya kufikia huduma za kipindi zinazotolewa na mfumo. Inakuruhusu kuhifadhi na kurejesha data kutoka kwa kipindi katika programu yako. Hapa kuna mfano wa jinsi ya kutumia 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();
Unaweza pia kupitisha thamani ya awalidefinite kama hoja ya pili kwa chaguo la kukokotoa session
, ambayo itarejeshwa ikiwa ufunguo uliobainishwa haupatikani kwenye kipindi:
$value = session('key', 'default');
Session Request
Katika Laravel, mfano wa ombi la kikao hurejelea kitu ambacho kinawakilisha ombi la HTTP na kina maelezo kuhusu ombi, kama vile njia ya ombi (GET, POST, PUT, n.k.), URL ya ombi, vichwa vya ombi na shirika la ombi. . Pia ina mbinu mbalimbali zinazoweza kutumika kurejesha na kuendesha taarifa hii.
Kwa kawaida unapata mfano wa Session Request
kwa njia ya kutofautiana $request
katika programu ya Laravel. Kwa mfano, kikao kinaweza kupatikana kupitia mfano wa ombi kwa kutumia kazi ya msaidizi 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');
}
}
Katika mfano huu, kutofautiana $request
ni mfano wa darasa Illuminate\Http\Request
, ambayo inawakilisha ombi la sasa la HTTP. Kitendaji session
ombi mfano unarudisha mfano wa darasa Illuminate\Session\Store
, ambayo hutoa kazi mbalimbali za kufanya kazi na kikao.
Ercole Palmeri
Sekta ya majini ni nguvu ya kweli ya kiuchumi duniani, ambayo imepitia kwenye soko la bilioni 150 ...
Jumatatu iliyopita, Financial Times ilitangaza makubaliano na OpenAI. FT inatoa leseni kwa uandishi wake wa habari wa kiwango cha kimataifa…
Mamilioni ya watu hulipia huduma za utiririshaji, kulipa ada za usajili za kila mwezi. Ni maoni ya kawaida kwamba wewe…
Coveware by Veeam itaendelea kutoa huduma za kukabiliana na matukio ya ulaghai mtandaoni. Coveware itatoa uwezo wa uchunguzi na urekebishaji…