Sessions digunakan untuk menyimpan informasi tentang pengguna. Laravel menyediakan berbagai driver seperti file, cookie, apc, array, Memcached, Redis, dan database untuk menangani data sessions. Secara default, driver file digunakan karena ringan. Sesi dapat dikonfigurasi dalam file yang disimpan di config/session.php
Jika anda menggunakan driver database maka anda perlu membuat terlebih dahulu table sessions untuk menyimpannya, dengan perintah
MENYIMPAN NILAI SESSION
MENGHAPUS SESSION
Konfigurasi
Konfigurasi driver session pada laravel ini adalah sebagai berikut :- file - session disimpan pada direktori storage/framework/sessions
- cookie - session disimpan pada cookie
- database - session disimpan dalam database
- memcached / redis - session disimpan dengan menggunakan memcached atau redis
- array - session disimpan pada array PHP dan session ini tidak akan bertahan
Jika anda menggunakan driver database maka anda perlu membuat terlebih dahulu table sessions untuk menyimpannya, dengan perintah
php artisan session:table
php artisan migrate
Menggunakan Sessions
Cara untuk mendapatkan data session adalah sebagai berikut
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class UserController extends Controller
{
public function show(Request $request, $id)
{
$value = $request->session()->get('key');
//
}
}
Cara di ini adalah cara dengan menggunakan Request. Digunakan perintah $request->session()->get('key') untuk
mendapatkan nilai session key. Terdapat 2 parameter pada perintah get
ini, parameter pertama adalah key dari session yang ingin didapatkan dan
parameter kedua adalah nilai yang dikembalikan jika key pada session
tersebut tidak ditemukan. Contohnya dapat dilihat pada kode berikut ini :
$value = $request->session()->get('key', 'default');
Sedangkan jika anda menggunakan global helper session caranya dapat dilihat pada contoh kode berikut
$value = session('key', 'default');
Untuk mendapatkan data dengan menggunakan global helper session juga
terdapat 2 parameter seperti penggunaan dengan Request. Kedua parameter
tersebut sama persis dengan yang terdapat pada fungsi get di Request.
Cara untuk menyimpan nilai pada session seperti contoh kode berikut ini
// Via a request...
$request->session()->put('key', 'value');
// Via the global helper...
session(['key' => 'value']);
Contoh kode di ini pada bagian atas adalah cara dengan menggunakan
Request sedangkan pada bagian bawah adalah cara dengan menggunakan
global helper session. Fungsi nya adalah untuk menyimpan nilai pada
session dengan key 'key'.
Untuk menghapus session terdapat 2 cara, yaitu dengan menggunakan fungsi forget untuk menghapus session dengan key tertentu atau menggunakan flush untuk menghapus semua nilai pada semua key session yang ada. Contoh penggunaanya adalah sebagai berikut :
// Via request
$request->session()->forget('key');
$request->session()->flush();
//Via global helper
session()->forget('key');
session()->flush();
PENGECEKAN KEBERADAAN KEY SESSION
Laravel juga sudah menyediakan fungsi untuk melakukan pengecekan apakah
session dengan key tersebut ada atau tidak. Terdapat 2 macam fungsi
pengecekan. Yang pertama adalah dengan menggunakan fungsi has yang
akan mengembalikan nilai true jika nilai dari session tersebut ada dan
bukan null. Berikut ini adalah contoh penggunaannya :
if ($request->session()->has('users')) {
//
}
Yang kedua adalah dengan menggunakan fungsi exists yang akan
mengembalikan nilai true jika nilai dari session dengan key yang dicari
ada walaupun nilainya adalah null. Contoh penggunaannya adalah sebagai
berikut :
if ($request->session()->exists('users')) {
//
}

No comments:
Post a Comment