Session ( คลาสที่ใช้จัดกาาร Session )

<a name="configuration"></a> ## การตั้งค่าเบื้องต้น

ไฟล์ที่ใช้ตั้งค่าจะอยู่ที่ app/config/session.php.โดยชนิดของ session จะมีหลายชนิดนะครับแต่โดยเริ่มต้นแล้วจะเป็น native ส่วนการตั้งค่าอื่นๆ ก็จะเป็นเวลาที่จะให้ seesion มีชีวิตอยู่ ที่อยู่ของ seesion ชื่อของ cookie และอื่นๆ ครับ

<a name="session-usage"></a> ##การใช้งาน

การสร้างค่าแล้วเก็บใน session

1 Session::put('key', 'value');

ดึงค่าจาก Session

1 $value = Session::get('key');

ดึงค่าเริ่มต้นของ session

1 $value = Session::get('key', 'default');
2 
3 $value = Session::get('key', function() { return 'default'; });

ตรวจว่ามีค่านี้ใน Session หรือไม่

1 if (Session::has('users'))
2 {
3 	//
4 }

ลบค่าออกจาก Session

1 Session::forget('key');

ลบค่าทั้งหมด Session

1 Session::flush();

สร้าง Session ID อีกครั้ง

1 Session::regenerate();

<a name="flash-data"></a> ## Flash Data

หลายๆครั้งเราต้องฝากค่าไว้ใน session เพื่อนำไปใช้ในการทำงานต่อไป สามารถใช้เมทอด Session::flash ตัวอย่าง

1 Session::flash('key', 'value');

ทำการเรียกใช้ falsh message อีกครั้ง

1 Session::reflash();

ทำการเรียกใช้งานอีกครั้งเฉพาะค่า

1 Session::keep(array('username', 'email'));

<a name="database-sessions"></a> ## การเก็บ session ในฐานข้อมูล

เมื่อเราใช้ฐานข้อมูลเก็บ session เราต้องสร้างตารางขึ้นมาก่อน ด้วยคำสั่งSchema ดังตัวอย่าง

1 Schema::create('sessions', function($table)
2 {
3 	$table->string('id')->unique();
4 	$table->text('payload');
5 	$table->integer('last_activity');
6 });

ตอนนี้เราก็ใช้คำสั่ง php artisab session:table เป็นอันจบครับ <br /><br /><br /><br /><br /><br /> <a name="cookies"></a> ## Cookies

การดึงค่าจาก cookies

1 $value = Cookie::get('name');

สร้าง cookie และส่งคืนไปให้ผู้ใช้งาน

1 $response = Response::make('Hello World');
2 
3 $response->withCookie(Cookie::make('name', 'value', $minutes));

สร้าง cookie ที่ไม่หมดอายุ

1 $cookie = Cookie::forever('name', 'value');

ประเภทของ session

  • file - sessions จะถูกเก็บไว้ใน app/storage/sessions.
  • cookie - sessions เก็บไว้ใน cookies ที่เข้ารหัส
  • database - sessions เก็บไว้ในฐานข้อมูล
  • memcached / redis - sessions เก็บไว้ใน memory
  • array - เก็บไว้ใน php array