ලිපි

Laravel හි සැසි මොනවාද, වින්‍යාස කිරීම සහ උදාහරණ සමඟ භාවිතා කරන්න

Laravel සැසි ඔබට තොරතුරු ගබඩා කිරීමට සහ ඔබේ වෙබ් යෙදුමේ ඉල්ලීම් අතර හුවමාරු කිරීමට ඉඩ සලසයි. 

ඒවා වත්මන් පරිශීලකයා සඳහා දත්ත පවත්වා ගැනීමට පහසු ක්‍රමයකි. මෙම නිබන්ධනය Laravel හි සැසි සමඟ වැඩ කිරීමේ මූලික කරුණු ඔබට ලබා දෙනු ඇත.

Laravel session යනු කුමක්ද?

Laravel හි, සැසියක් යනු තොරතුරු ගබඩා කිරීමට, පරිශීලකයෙකු විසින් කරන ලද ඉල්ලීම් නිවැරදිව හැසිරවීමට මාර්ගයකි. පරිශීලකයෙකු Laravel යෙදුමක් ආරම්භ කරන විට, එම පරිශීලකයා සඳහා සැසියක් ස්වයංක්‍රීයව ආරම්භ වේ. සැසි දත්ත සේවාදායකයේ ගබඩා කර ඇති අතර සැසිය හඳුනා ගැනීම සඳහා අනන්‍ය හඳුනාගැනීමක් සහිත කුඩා කුකියක් පරිශීලකයාගේ බ්‍රවුසරයට යවනු ලැබේ.

ඔබට පිටු කිහිපයක් හෝ ඉල්ලීම් හරහා භාවිතා කිරීමට අවශ්‍ය දත්ත ගබඩා කිරීමට සැසිය භාවිතා කළ හැක. උදාහරණයක් ලෙස, ඔබ පරිශීලක සත්‍යාපනය සඳහා සැසිය භාවිතා කළ හැකිය හෝ ඔබේ යෙදුමේ සැසිය තුළ ඔබට භාවිතා කිරීමට අවශ්‍ය වෙනත් තොරතුරු ගබඩා කළ හැකිය.

Laravel හි සැසි වින්‍යාසය

Laravel හි සැසි භාවිතා කිරීමට, ඔබ මුලින්ම ඒවා ගොනුව තුළ සක්‍රීය කළ යුතුය config/session.php වින්යාසය. මෙම ගොනුව තුළ සැසිවලට අදාළ වින්‍යාස පරාමිති සැකසීමට හැකිය. උදාහරණයක් ලෙස සැසියේ කාලසීමාව, සැසි දත්ත ගබඩා කිරීම සඳහා භාවිතා කළ යුතු ධාවකය සහ සැසි දත්ත ගබඩා ස්ථානය. 

ගොනුවට පහත වින්‍යාස විකල්ප ඇත:
  • රියදුරු: පූර්ව සැසි ධාවකය නියම කරයිdefiභාවිතා කිරීමට සූදානම්. Laravel සැසි ධාවක කිහිපයක් සඳහා සහය දක්වයි: ගොනු, කුකී, දත්ත සමුදාය, apc, memcached, redis, dynamodb, සහ array;
  • ජීවිත කාලය: සැසිය වලංගු ලෙස සැලකිය යුතු මිනිත්තු ගණන නියම කරයි;
  • කල් ඉකුත්වන_ආසන්න: සත්‍ය ලෙස සකසා ඇත්නම්, පරිශීලකයාගේ බ්‍රවුසරය වසා ඇති විට සැසිය කල් ඉකුත් වේ;
  • ගුප්තකේතනය කර ඇත: true යන්නෙන් අදහස් වන්නේ, රාමුව සැසි දත්ත ගබඩා කිරීමට පෙර සංකේතනය කරන බවයි;
  • ගොනු: ගොනු සැසි ධාවකය භාවිතා කරන්නේ නම්, මෙම විකල්පය ගොනු ගබඩා ස්ථානය නියම කරයි;
  • සම්බන්ධයෙන්: දත්ත සමුදා සැසි ධාවකය භාවිතා කරන්නේ නම්, මෙම විකල්පය භාවිතා කිරීමට දත්ත සමුදා සම්බන්ධතාවය නියම කරයි;
  • වගුවයි: දත්ත සමුදා සැසි ධාවකය භාවිතා කරන්නේ නම්, මෙම විකල්පය සැසි දත්ත ගබඩා කිරීමට භාවිතා කළ යුතු දත්ත සමුදා වගුව නියම කරයි;
  • ලොතරැයි: සැසි හැඳුනුම් කුකී අගයක් අහඹු ලෙස තේරීමට භාවිතා කරන අගයන් මාලාවක්;
  • කුකී: මෙම විකල්පය සැසි හැඳුනුම්පත ගබඩා කිරීමට භාවිතා කරන කුකියේ නම සඳහන් කරයි. සැසිය සඳහා කුකී සැකසීම් වින්‍යාස කිරීමට මාර්ගය, වසම, ආරක්‍ෂිත, http_only සහ same_site විකල්ප භාවිතා වේ.

පහත දැක්වෙන්නේ ගොනුවක උදාහරණයකි sessions.php සැසි කාලය තත්පර 120 ක් සමඟ, නාමාවලියෙහි ගබඩා කර ඇති ගොනු භාවිතය 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',

];

ගොනුවේ ඇති පරිසර විචල්‍යයන් භාවිතයෙන් ඔබට සැසිය වින්‍යාසගත කළ හැක .env. උදාහරණයක් ලෙස, දත්ත සමුදා සැසි ධාවකය භාවිතා කිරීමට සහ සැසි දත්ත සැසි වගුවක ගබඩා කිරීමට, MySQL-type DB සමඟ, ඔබට පහත පරිසර විචල්‍යයන් සැකසිය හැක:

SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_CONNECTION=mysql
SESSION_TABLE=sessions

Laravel සැසි පිහිටුවීම

Laravel හි සැසි දත්ත සමඟ වැඩ කිරීමට ක්රම තුනක් තිබේ: 

  • භාවිතා කරමින්helper ඩෙල් global session;
  • සැසියේ මුහුණත භාවිතා කිරීම;
  • a හරහා Request instance

මෙම සියලු අවස්ථා වලදී, ඔබ සැසිය තුළ ගබඩා කරන දත්ත, සැසිය කල් ඉකුත් වන තෙක් හෝ අතින් විනාශ වන තෙක් එම පරිශීලකයා විසින් කරන ලද පසුකාලීන ඉල්ලීම් වලින් ලබා ගත හැක.

නවෝත්පාදන පුවත් පත්‍රිකාව
නවෝත්පාදනය පිළිබඳ වැදගත්ම පුවත් අතපසු නොකරන්න. ඒවා විද්‍යුත් තැපෑලෙන් ලබා ගැනීමට ලියාපදිංචි වන්න.

ගෝලීය සැසි සහායකයා

Laravel හි, ශ්‍රිතය භාවිතා කරයි Global Session Helper එය රාමුව මඟින් සපයන සැසි සේවා වෙත ප්‍රවේශ වීමට පහසු ක්‍රමයකි. ඔබගේ යෙදුමේ සැසියෙන් දත්ත ගබඩා කිරීමට සහ ලබා ගැනීමට එය ඔබට ඉඩ සලසයි. භාවිතා කරන ආකාරය පිළිබඳ උදාහරණයක් මෙන්න 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();

ඔබට පෙර අගයක් ද සම්මත කළ හැකියdefiශ්‍රිතයේ දෙවන තර්කය ලෙස සටහන් කර ඇත session, නිශ්චිත යතුර සැසියේ සොයාගත නොහැකි නම් ආපසු ලබා දෙනු ඇත:

$value = session('key', 'default');

උදාහරණයක් Session Request

Laravel හි, සැසි ඉල්ලීමේ අවස්ථාවක් යනු HTTP ඉල්ලීමක් නියෝජනය කරන වස්තුවකට යොමු වන අතර ඉල්ලීම් ක්‍රමය (GET, POST, PUT, ආදිය), ඉල්ලීම් URL, ඉල්ලීමේ ශීර්ෂයන් සහ ඉල්ලීම් අන්තර්ගතය වැනි ඉල්ලීම පිළිබඳ තොරතුරු අඩංගු වේ. . මෙම තොරතුරු ලබා ගැනීමට සහ හැසිරවීමට භාවිතා කළ හැකි විවිධ ක්‍රම ද එහි අඩංගු වේ.

සාමාන්‍යයෙන් ඔබ ප්‍රවේශ වන්නේ හි අවස්ථාවටය Session Request විචල්යය හරහා $request Laravel යෙදුමක. උදාහරණයක් ලෙස, උපකාරක ශ්‍රිතය භාවිතයෙන් ඉල්ලීම් අවස්ථාවක් හරහා සැසියකට ප්‍රවේශ විය හැක 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');
    }
}

මෙම උදාහරණයේ දී, විචල්යය  $request එය පන්තියේ උදාහරණයකි Illuminate\Http\Request, වත්මන් HTTP ඉල්ලීම නියෝජනය කරයි. කාර්යය session ඉල්ලීම් අවස්ථාව පන්තියේ අවස්ථාවක් ලබා දෙයි Illuminate\Session\Store, සැසිය සමඟ වැඩ කිරීම සඳහා විවිධ කාර්යයන් සපයයි.

Ercole Palmeri

නවෝත්පාදන පුවත් පත්‍රිකාව
නවෝත්පාදනය පිළිබඳ වැදගත්ම පුවත් අතපසු නොකරන්න. ඒවා විද්‍යුත් තැපෑලෙන් ලබා ගැනීමට ලියාපදිංචි වන්න.

මෑතකාලීන ලිපි

Catania Polyclinic හි ඇපල් නරඹන්නෙකු සමඟ, වැඩිදියුණු කළ යථාර්ථයේ නව්‍ය මැදිහත්වීම

Apple Vision Pro වාණිජ නරඹන්නා භාවිතයෙන් අක්ෂි ශල්‍යකර්මයක් Catania Polyclinic හි සිදු කරන ලදී.

3 මැයි 2024

ළමුන් සඳහා පිටු වර්ණ ගැන්වීමේ ප්‍රතිලාභ - සියලුම වයස් කාණ්ඩ සඳහා මැජික් ලෝකයක්

වර්ණ ගැන්වීම හරහා සියුම් මෝටර් කුසලතා වර්ධනය කිරීම ලිවීම වැනි වඩාත් සංකීර්ණ කුසලතා සඳහා දරුවන් සූදානම් කරයි. වර්ණ ගැන්වීමට...

2 මැයි 2024

අනාගතය මෙන්න: නැව් කර්මාන්තය ගෝලීය ආර්ථිකය විප්ලවීය කරන්නේ කෙසේද?

නාවික අංශය සැබෑ ගෝලීය ආර්ථික බලවතෙකු වන අතර එය බිලියන 150 ක වෙළඳපලක් කරා ගමන් කර ඇත.

1 මැයි 2024

ප්‍රකාශකයින් සහ OpenAI කෘත්‍රිම බුද්ධිය මගින් සැකසූ තොරතුරු ගලායාම නියාමනය කිරීමට ගිවිසුම් අත්සන් කරයි

පසුගිය සඳුදා ෆිනෑන්ෂල් ටයිම්ස් OpenAI සමඟ ගිවිසුමක් නිවේදනය කළේය. FT එහි ලෝක මට්ටමේ පුවත්පත් කලාවට බලපත්‍ර ලබා දෙයි…

30 අප්රේල් 2024

ඔබේ භාෂාවෙන් නවෝත්පාදනය කියවන්න

නවෝත්පාදන පුවත් පත්‍රිකාව
නවෝත්පාදනය පිළිබඳ වැදගත්ම පුවත් අතපසු නොකරන්න. ඒවා විද්‍යුත් තැපෑලෙන් ලබා ගැනීමට ලියාපදිංචි වන්න.

පසු අපට