HTTP Session Laravel

 


Halo teman semua, saya akan membahas session pada laravel, laravel sudah menyiapkan fungsi-fungsi default untuk melakukan manipulasi session, session pada laravel berbeda dengan PHP pada umumnya, pada laravel session tidak dapat terbaca dengan  $_SESSION.


Konfigurasi

Konfigurasi session laravel terdapat pada file config/session.php, dalam file tersebut terdapat variabel-variabel konfigurasi yang sebagian dapat diatur melalui file .env, misal kita ingin mengubah konfigurasi driver session yang digunakan kita cukup menambahkan variabel SESSION_DRIVER pada file .env seperti berikut :


Secara default konfigurasi session laravel menggunakan driver file, dan berikut konfigurasi driver pada session laravel :

  • file = session disimpan pada direktori storage/framework/session.

  • cookie = session disimpan pada cookie.

  • database = session disimpan dalam database.

  • memcached / redis = session disimpan menggunakan memcached / redis.

  • array = session disimpan dalam array PHP dan session ini tidak akan dipertahankan.


Menggunakan Session

Ada 2 macam cara untuk melakukan manipulasi data session pada laravel, yaitu dengan menggunakan helper global session dan dengan menggunakan Request.


Pertama kita buat controller.


Selanjutnya buka sessionController dan tambahkan kode berikut.


Kode tersebut akan menyimpan nilai pada session melalui request, sementara jika ingin menyimpan session melalui global session helper, kita tinggal ganti kodenya menjadi seperti berikut.


Selanjutnya kita buat route dari method store ini.


Lalu kita coba buka pada browser, jika muncul seperti berikut berarti kita telah berhasil menyimpan data ke dalam session.


Selanjutnya buka sessionController kembali, dan tambahkan kode sehingga menjadi seperti berikut.


Pada kode diatas, kita melakukan pengecekan apakah pada session ada key user atau tidak, untuk melakukan pengecekan kita dapat menggunakan function has() dan exists(), function has akan mengembalikan nilai true jika nilai dari session tersebut ada dan bukan null, sementara function exists akan mengembalikan nilai true jika nilai dari session tersebut ada walaupun nilainya null.


Pada kode diatas kita menggunakan function has, jika ingin menggunakan function exists kita cukup ganti has dengan exists.


Lalu dibawahnya kita juga menambahkan kode berikut.


Kode tersebut berfungsi untuk mengambil nilai pada session melalui request, sementara jika ingin menggunakan global helper session cukup ubah kodenya jadi seperti berikut.


Selanjutnya kita buat route untuk menangani method index ini sebagai berikut.


Buka pada browser, dan akan muncul sebagai berikut.


Disini kita telah berhasil menampilkan data yang sebelumnya telah kita simpan dalam session, selanjutnya untuk menghapus session sebagai berikut.


Pertama buka sessionController lalu buat method destroy dan tambahkan kode berikut.


Jika ingin menggunakan global helper session, ubah kode seperti berikut.


Selanjutnya buat route untuk menangani destroy sebagai berikut.


Selanjutnya buka pada browser dan akan muncul sebagai berikut jika berhasil.


Lalu coba akses index lagi, maka akan muncul seperti berikut.


Itu berarti data dalam session telah berhasil dihapus.


Kita telah belajar HTTP Session pada laravel, jika teman-teman memiliki pertanyaan atau saran mengenai artikel ini, silahkan tinggalkan komentar pada form dibawah, semoga artikel ini bermanfaat bagi teman-teman.


Terima Kasih...


by: Muhammad Agus Hermawan
Jombang Dev Software Developer

Belum ada Komentar untuk "HTTP Session Laravel"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel