دا د اوسني کارونکي لپاره د معلوماتو دوام لپاره یوه اسانه لار ده. دا ټیوټوریل به تاسو ته په لارویل کې د غونډو سره د کار کولو اساسات درکړي.
په Laravel کې، ناسته د معلوماتو ذخیره کولو یوه لاره ده، ترڅو د کاروونکي لخوا شوي غوښتنې په سمه توګه اداره کړي. کله چې یو کاروونکی د لارویل غوښتنلیک پیل کوي ، نو د دې کارونکي لپاره په اوتومات ډول سیشن پیل کیږي. د سیشن ډیټا په سرور کې زیرمه کیږي او یو کوچنی کوکی د ځانګړي پیژندونکي سره د کارونکي براوزر ته لیږل کیږي ترڅو سیشن وپیژني.
تاسو کولی شئ د ډیټا ذخیره کولو لپاره سیشن وکاروئ چې تاسو غواړئ په ډیری مخونو یا غوښتنو کې وکاروئ. د مثال په توګه، تاسو ممکن د کارونکي تصدیق لپاره سیشن وکاروئ یا نور معلومات ذخیره کړئ چې تاسو غواړئ په خپل غوښتنلیک کې د ناستې پرمهال وکاروئ.
په Laravel کې د غونډو کارولو لپاره، تاسو باید لومړی په فایل کې فعال کړئ config/session.php
د تشکیلاتو په دې فایل کې دا ممکنه ده چې د غونډو پورې اړوند د ترتیب کولو پیرامیټونه تنظیم کړئ. لکه د ناستې موده، د سیشن ډیټا ذخیره کولو لپاره د کارولو چلونکی، او د سیشن ډیټا لپاره د ذخیره کولو ځای.
لاندې د فایل یوه بیلګه ده 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 کې د سیشن ډیټا سره کار کولو لپاره درې لارې شتون لري:
helper
ډیلا global session
;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 ملیارد بازار په لور حرکت کړی ...
تیره دوشنبه، فایننشل ټایمز د OpenAI سره یوه معامله اعلان کړه. FT د نړۍ په کچه ژورنالیزم جواز ورکوي ...
ملیونونه خلک د سټیمینګ خدماتو لپاره تادیه کوي ، د میاشتنۍ ګډون فیس ورکوي. دا عام نظر دی چې تاسو…
د Veeam لخوا Coveware به د سایبر غصب پیښو غبرګون خدماتو چمتو کولو ته دوام ورکړي. Coveware به د عدلي او درملنې وړتیاوې وړاندې کړي ...