Cara Menangani Laravel Session Dengan Mudah - CRUDPRO

Cara Menangani Laravel Session Dengan Mudah

Cara Menangani Laravel Session Dengan Mudah

Sesi Laravel memainkan peran penting dalam aplikasi web apa pun, ini membantu Anda untuk menyimpan data dalam sesi yang dapat Anda ambil dalam aplikasi Anda.

Dalam postingan ini, kita akan melihat bagaimana kita bisa menggunakan metode session helper di Laravel. Laravel Session menyediakan banyak format berbeda untuk menyimpan data sesi yang mencakup file, cookie, database, Redis, dan Memcached.

Apa itu Sesi?

Sesi adalah cara sederhana untuk menyimpan data untuk setiap permintaan HTTP terhadap ID sesi yang unik.

Sesi ini dapat menyediakan data aktivitas pengguna di seluruh aplikasi Anda. Sesi biasanya dikirim ke browser melalui cookie sesi dan ID unik yang ditetapkan untuk setiap cookie sesi dapat digunakan untuk mengambil data sesi.

Driver Sesi yang Didukung di Laravel

Driver default untuk sesi diatur ke file saat Anda membuat aplikasi Laravel baru. File drive baik untuk pengembangan lokal tetapi untuk aplikasi produksi, Anda harus menggunakan Redis atau Memcached untuk meningkatkan kinerja sesi.

Anda dapat mengubah pengaturan driver sesi dari file konfigurasi untuk sesi yang terletak di config/session.php.

/*
    |--------------------------------------------------------------------------
    | Default Session Driver
    |--------------------------------------------------------------------------
    |
    | This option controls the default session "driver" that will be used on
    | requests. By default, we will use the lightweight native driver but
    | you may specify any of the other wonderful drivers provided here.
    |
    | Supported: "file", "cookie", "database", "apc",
    |            "memcached", "redis", "dynamodb", "array"
    |
    */

    'driver' => env('SESSION_DRIVER', 'file'),

Menggunakan Sesi Laravel untuk Menyimpan Data

Ada dua metode berbeda di Laravel Framework yang bisa Anda gunakan untuk mengatur nilai di sesi. Yang pertama menggunakan session helper function session().

// Global helper function

session(['key' => 'value']);

Kedua, Anda dapat menggunakan instance Request untuk mengatur nilai dalam sesi.

// Request class instance

$request->session()->put(['key' => 'value']);

Mengembalikan Nilai ke Array Sesi

Metode push() dari Request instance digunakan untuk mendorong nilai baru ke sesi array.

// Request class instance

$request->session()->push(['key' => 'value']);

Mengambil Data Sesi

Ada banyak metode rantai yang ada untuk session().

Mendapatkan Nilai Sesi Dengan Kunci

Serupa dengan simpan nilai sesi, ada dua langkah berlainan untuk ambil nilai sesi.

Sistem pertama memakai metode session(). Untuk ambil nilai sesi pakai metode berikut ini.

// Global helper function

$value = session('key');

Metode kedua adalah menggunakan instance Request :

// Request class instance

$value = $request->session()->get('key');

Mendapatkan Semua Nilai Sesi

Untuk mendapatkan semua nilai sesi, gunakan metode all() pada instance Request seperti di bawah.

// Get all values from session

$values = $request->session()->all();

Memeriksa Jika Ada Nilai Sesi

Metode has() dapat digunakan untuk menentukan apakah ada nilai sesi dalam sesi. Ini akan mengembalikan nilai true jika ada nilai dan null jika nilai tidak ada.

// Checking if a session value exist

if ($request->session()->has('key') {
//
}

Menghasilkan ID Sesi

Jika Anda ingin membuat ulang semua ID untuk sesi ini, Anda dapat menggunakan metode regenerate().

// Regenerate session IDs

$request->session()->regenerate();

Menghapus Nilai Sesi

Gunakan metode forget() untuk menghapus item tertentu dari sesi, yang menggunakan argumen kunci.

// Remove an item from the session

$request->session()->forget('key');

Untuk menghapus semua item dari sesi, Anda dapat menggunakan metode flush().

// Remove all values from session

$request->session()->flush();

Untuk Anda

Sesi sangat penting untuk aplikasi web apa pun, hampir semua kerangka kerja web menyediakan fungsionalitas ini di luar kotak. Dalam posting ini, kami mencoba untuk membahas semua kasus penggunaan untuk Sesi Laravel.