رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش Session ها در لاراول 5
#1
در لاراول ۵ می توانیم از طریق کلاس Session و هم با استفاده از تابع کمکی session به مقادیر آنها دسترسی داشته باشیم.


ذخیره مقدار در یک سشن

در مثال زیر با هردو روش مقداری را در session ذخیره کرده ایم. key نام session و value مقدار آن است. برای تعریف چند session کلید و مقدار را داخل یک آرایه قرار دهید.

کد پی‌اچ‌پی:
Session::put('key''value');
 
session(['key' => 'value']); 


باید توجه داشته باشید که برای ست کردن یک session هم در تابع کمکی session باید آن را در آرایه قرار دهید.


افزودن مقدار به یک session آرایه ای


کد پی‌اچ‌پی:
Session::push('user.teams''developers'); 


بازیابی مقدار session با متد get امکانپذیر است.


کد پی‌اچ‌پی:
$value Session::get('key');
 
$value session('key'); 


در صورتی که session مقداری نداشت می توانیم برای آن یک مقدار پیش فرض تعریف کنیم


کد پی‌اچ‌پی:
$value Session::get('key''default');
 
$value Session::get('key', function() { return 'default'; }); 


گرفتن مقدار یک session و بلافاصله حذف آن با متد pull امکانپذیر است :


کد پی‌اچ‌پی:
$value Session::pull('key''default'); 


با متد all می توانیم به تمام مقادیر سشن ها را در یک آرایه بازیابی کنیم.


کد پی‌اچ‌پی:
$data Session::all(); 


برای حذف یک session خاص از متد forget که نام سشن را به آن می دهیم استفاده می کنیم. برای حذف تمامی session ها از flush استفاده میکنیم.


کد پی‌اچ‌پی:
Session::forget('key');
 
Session::flush(); 


برای امنیت بیشتر سشن ها می توانید از متد regenerate برای تولید دوباره session id استفاده کنید :


کد پی‌اچ‌پی:
Session::regenerate(); 


داده های فلش

سشن ها بعد از تولید تا وقتی که مرورگر بسته نشود از بین نمی روند. در لاراول session هایی به نام فلش وجود دارند که فقط برای یک درخواست معتبر هستند و بلافاصله در درخواست بعدی از بین میروند که مناسب برای ایجاد پیغام های خطا می باشند. مانند مثال زیر آنها را تولید می کنیم و به مانند سشن های دیگر بازیابی میکنیم.


کد پی‌اچ‌پی:
Session::flash('key''value'); 


ذخیره سشن ها در دیتابیس

session ها به طور پیش فرض در فایل ذخیره می شوند. شما می توانید آنها در چند جای مختلف از جمله دیتابیس ذخیره کنید که هرکدام در کاربردهای خاصی استفاده می شوند.
در صورتی که میخواهید سشن ها را در دیتابیس ذخیره کنید کافی است این سه دستور را به ترتیب در ترمنال تایپ و اجرا کنید :


کد پی‌اچ‌پی:
php artisan session:table
 
composer dump
-autoload
 
php artisan migrate 


سپس در فایل env. مقدار SESSION_DRIVER را به database تغییر دهید. 


برای اطلاعات بیشتر به اینجا مراجعه کنید

(با تشکر از حامد آریان)
قوانین انجمن لاراولیستا  | شماره تماس :‌09124783045 |‌ تلگرام :‌ 09377869283
پاسخ
#2
سلام
در کار با سیشن های لاراول یک مشکل خوردم، ممنون میشم راهنمایی کنید.

وقتی در کنترلر یک تابع مانند زیر می نویسم سیشن به خوبی ست میشه.
کد پی‌اچ‌پی:
           session::put('sample',34);
 
        


حالا اگر در یک این خط رو حذف کنیم و صفحه رو مثلا رفرش کنیم مقدار از سیشن حذف میشه، یعنی در عمل سیشن فقط برای یک صفحه کار می کنه!
از دستور هم استفاده کردم اما متاسفانه فایده ای نداشت.
پاسخ
 


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  آموزش فارسی لاراول ۵ alihossein 6 3,204 دیروز, 09:52 AM
آخرین ارسال: farhad
  گرفتن آپدیت های وب هوک تلگرام در لاراول Mr.AMiR 1 25 05-11-2017, 11:30 AM
آخرین ارسال: Mr.AMiR
  بهترین پکیج acl برای لاراول چیست homeily@gmail.com 3 152 05-08-2017, 09:27 AM
آخرین ارسال: Geppeto
  مشکل در استفاده از Session Mr.AMiR 2 24 05-02-2017, 01:45 PM
آخرین ارسال: Mr.AMiR
  لینک فایل های css و js در لاراول saeed.rahgooy@gmail.com 1 40 05-01-2017, 07:50 PM
آخرین ارسال: zootech
  ساخت authentication شخصی یا استفاده از authentication لاراول meysam_biz 0 63 03-19-2017, 05:38 PM
آخرین ارسال: meysam_biz
  درخواست راهنمایی : تعریف سطوح دسترسی کاربری در لاراول Bvk.Programmer 11 1,015 02-16-2017, 10:09 PM
آخرین ارسال: ansar
  # سوال : آموزش ساخت ربات تلگرام با پکیج irazasyed/telegram-bot-sdk Bvk.Programmer 1 427 02-16-2017, 09:55 PM
آخرین ارسال: ansar
  آموزش اعتبار سنجی در لاراول 5 alihossein 4 1,019 11-20-2016, 07:12 AM
آخرین ارسال: حمید رﺽا کمالی
  نحوه ایجاد Token-Based Authentication(oauth2) در لاراول با استفاده از passport anonymox 0 154 11-12-2016, 06:27 AM
آخرین ارسال: anonymox

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان

درباره انجمن فریم ورک لاراول

انجمن لاراولیستا به عشق توسعه دهنده ها و علاقمندان به این فریم ورک محبوب ایجاد شده و امیدواریم با نظرات خوبتون ما رو در بهبود کار یاری کنید. در ضمن خیلی هم خوشحال میشیم شما هم در توسعه این انجمن سهمی داشته باشید.