بیشتر

په لارویل کې سیشنونه څه دي، ترتیب کول او د مثالونو سره کارول

Laravel ناستې تاسو ته اجازه درکوي معلومات ذخیره کړئ، او ستاسو په ویب غوښتنلیک کې د غوښتنو ترمنځ یې تبادله کړئ. 

دا د اوسني کارونکي لپاره د معلوماتو دوام لپاره یوه اسانه لار ده. دا ټیوټوریل به تاسو ته په لارویل کې د غونډو سره د کار کولو اساسات درکړي.

Laravel سیشن څه شی دی

په Laravel کې، ناسته د معلوماتو ذخیره کولو یوه لاره ده، ترڅو د کاروونکي لخوا شوي غوښتنې په سمه توګه اداره کړي. کله چې یو کاروونکی د لارویل غوښتنلیک پیل کوي ، نو د دې کارونکي لپاره په اوتومات ډول سیشن پیل کیږي. د سیشن ډیټا په سرور کې زیرمه کیږي او یو کوچنی کوکی د ځانګړي پیژندونکي سره د کارونکي براوزر ته لیږل کیږي ترڅو سیشن وپیژني.

تاسو کولی شئ د ډیټا ذخیره کولو لپاره سیشن وکاروئ چې تاسو غواړئ په ډیری مخونو یا غوښتنو کې وکاروئ. د مثال په توګه، تاسو ممکن د کارونکي تصدیق لپاره سیشن وکاروئ یا نور معلومات ذخیره کړئ چې تاسو غواړئ په خپل غوښتنلیک کې د ناستې پرمهال وکاروئ.

په Laravel کې د سیشن ترتیب

په Laravel کې د غونډو کارولو لپاره، تاسو باید لومړی په فایل کې فعال کړئ config/session.php د تشکیلاتو په دې فایل کې دا ممکنه ده چې د غونډو پورې اړوند د ترتیب کولو پیرامیټونه تنظیم کړئ. لکه د ناستې موده، د سیشن ډیټا ذخیره کولو لپاره د کارولو چلونکی، او د سیشن ډیټا لپاره د ذخیره کولو ځای. 

فایل د لاندې ترتیب کولو اختیارونه لري:
  • چلوونکی: د ناستې دمخه چلونکی مشخص کويdefiد کارولو لپاره چمتو دی. لارویل د ډیری سیشن ډرایورانو ملاتړ کوي: فایل، کوکي، ډیټابیس، apc، memcached، redis، dynamodb، او array؛
  • عمري: د دقیقو شمیر مشخص کوي چې په هغه کې ناسته باید د اعتبار وړ وګڼل شي؛
  • expire_on_close: که په ریښتیا وټاکل شي، ناسته به پای ته ورسیږي کله چې د کارونکي براوزر بند شي؛
  • کوډ: ریښتیني معنی دا ده چې چوکاټ به د سیشن ډاټا کوډ کړي مخکې له دې چې ذخیره شي؛
  • دوتنې: که د فایل سیشن ډرایور کارول کیږي، دا اختیار د فایل ذخیره کولو ځای مشخص کوي؛
  • په تړاو: که د ډیټابیس سیشن ډرایور کارول کیږي، دا اختیار د کارولو لپاره د ډیټابیس پیوستون مشخص کوي؛
  • جدول: که د ډیټابیس سیشن ډرایور کارول کیږي، دا اختیار د ډیټابیس میز مشخص کوي چې د سیشن ډیټا ذخیره کولو لپاره کارول کیږي؛
  • د پچې: د ارزښتونو لړۍ په تصادفي ډول د سیشن ID کوکي ارزښت غوره کولو لپاره کارول کیږي؛
  • ککوړی: دا اختیار د کوکي نوم مشخصوي چې د سیشن ID ذخیره کولو لپاره به کارول کیږي. لاره، ډومین، خوندي، 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 ډول 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();

تاسو کولی شئ دمخه ارزښت هم تیر کړئdefinit د فنکشن لپاره د دویم دلیل په توګه 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

د نوښت خبر پاڼه
د نوښت په اړه خورا مهم خبرونه له لاسه مه ورکوئ. د بریښنالیک له لارې دوی ترلاسه کولو لپاره لاسلیک وکړئ.

وروستي مقالې

راتلونکی دلته دی: د بار وړلو صنعت څنګه د نړیوال اقتصاد انقلاب کوي

سمندري سکتور یو ریښتینی نړیوال اقتصادي ځواک دی ، کوم چې د 150 ملیارد بازار په لور حرکت کړی ...

1 د 2024 ماین

خپرونکي او OpenAI تړونونه لاسلیک کوي ترڅو د مصنوعي استخباراتو لخوا پروسس شوي معلوماتو جریان تنظیم کړي

تیره دوشنبه، فایننشل ټایمز د OpenAI سره یوه معامله اعلان کړه. FT د نړۍ په کچه ژورنالیزم جواز ورکوي ...

30 اپریل 2024

آنلاین تادیات: دلته د سټیمینګ خدمات تاسو ته د تل لپاره تادیه کوي

ملیونونه خلک د سټیمینګ خدماتو لپاره تادیه کوي ، د میاشتنۍ ګډون فیس ورکوي. دا عام نظر دی چې تاسو…

29 اپریل 2024

Veeam د ransomware لپاره خورا پراخه ملاتړ وړاندې کوي ، له محافظت څخه تر غبرګون او رغیدو پورې

د Veeam لخوا Coveware به د سایبر غصب پیښو غبرګون خدماتو چمتو کولو ته دوام ورکړي. Coveware به د عدلي او درملنې وړتیاوې وړاندې کړي ...

23 اپریل 2024

نوښت په خپله ژبه ولولئ

د نوښت خبر پاڼه
د نوښت په اړه خورا مهم خبرونه له لاسه مه ورکوئ. د بریښنالیک له لارې دوی ترلاسه کولو لپاره لاسلیک وکړئ.

مونږ سره په