🔹 เกริ่นนำ
Session คือวิธีที่ Laravel ใช้เก็บข้อมูลของผู้ใช้แบบชั่วคราวระหว่างการใช้งานเว็บ เช่น ข้อมูลผู้ใช้หลังเข้าสู่ระบบ หรือข้อความแจ้งเตือน (flash message) Laravel รองรับ driver หลากหลาย เช่น file, database, Redis, และ array สำหรับ testing
บทนี้จะอธิบายวิธีใช้งาน session เบื้องต้น ตั้งค่า session driver และตัวอย่างการใช้งานใน Controller และ View
🔸 การตั้งค่า session driver
SESSION_DRIVER=file
💡 ค่าเริ่มต้นคือ
file
ซึ่งจะเก็บ session ไว้ในstorage/framework/sessions
🔸 การบันทึกข้อมูลลงใน Session
session(['user_id' => 123]);
// หรือแบบยาว
Session::put('user_id', 123);
🔸 การอ่านข้อมูลจาก Session
$userId = session('user_id');
// หรือแบบยาว
$userId = Session::get('user_id');
🔸 การลบข้อมูลจาก Session
Session::forget('user_id');
Session::flush(); // ลบทุก key
🔸 Flash Message (แสดงครั้งเดียว)
Session::flash('status', 'บันทึกข้อมูลเรียบร้อยแล้ว');
ใน Blade Template:
@if (session('status'))
<div>{{ session('status') }}</div>
@endif