Panada Framework 0.3.1 Documentation

Session

Panada menggunakan session bawaan dari PHP (native session). Sebelm digunakan, library session terlebih dahulu harus diinisialisasi.

$this->session = new Library_session();

Konfigurasi

Bagian konfigurasi Library Session terletak pada file apps/config.php.

Anda bisa menyesuaikan parameter-parameter di bawah ini sesuai dengan kebutuhan.

Berikut adalah penjelasan dari masing-masing parameter:

  • session_expire

    session_expire menentukan berapa lama waktu session bisa digunakan hingga expired. Waktu dihitung dimulai dari request terakhir.
    Secara default Panada menetapkan waktu expired selama 2 jam (7200 detik).
    Catatan: Parameter ini tidak berlaku jika Anda menggunakan Debian dan turunannya dan menggunakan pilihan 'native' pada parameter 'session_store'.

  • session_name

    session_name adalah nama cookie yang digunakan sebagai identitas session di browser.

  • session_cookie_expire

    session_cookie_expire menentukan berapa lama cookie session disimpan di browser.

  • session_cookie_path

    session_cookie_path menentukan path-mana berlakunya cookie session.

  • session_cookie_secure

    session_cookie_secure menentukan apakah cookie session hanya berlaku di protokol HTTPS saja atau tidak.

  • session_cookie_domain

    session_cookie_domain menentukan di mana session cookie berlaku. Jika Anda ingin session berlaku pada semua sub-domain, maka isikan dengan format '.domainanda.com'

  • session_store

    session_store menentukan di mana tempat penyimpanan data session. Pilihannya adalah:

    • native (file), yaitu mengikuti setting default PHP.
    • database, yaitu menyimpannya ke dalam database.

    Jika Anda memilih database, Anda harus mempersiapkan sebuah table dengan struktur seperti berikut:

  • session_db_name

    Jika Anda menyimpan data session di dalam database dan ingin menggunakna nama table lain, silahkan tentukan pada parameter ini.

Session Methods

Berikut adalah method-method yang bisa digunakan dalam menangani session di Panada.

Contoh penggunaan masing-masing method di dalam controller adalah sebagai berikut:

Set

Berikut adalah contoh mengisikan nilai baru ke dalam session.

$this->session->set('user_id', '1234');
$this->session->set('user_email', 'jhon@myemail.com');
$this->session->set('user_name', 'jhon');

Untuk mengisikan beberapa data sekaligus, bisa menggunakan variable array seperti contoh berikut:

$data = array('user_id' => '1234', 'user_email' => 'jhon@myemail.com', 'user_name' => 'jhon');
$this->session->set($data);

Get

Untuk mendapatkan data yang sudah disimpan di dalam session berikut adalah contohnya:

echo $this->session->get('user_id'); // Output: 1234
echo $this->session->get('user_email'); // Output: jhon@myemail.com

Remove

Berikut adalah contoh cara menghapus nilai session satu-persatu:

$this->session->remove('user_id');
$this->session->remove('user_email');

Destroy

Untuk menghapus semua nilai sekaligus gunakan method destroy:

$this->session->destroy();

Session Clear All

Untuk menghapus semua nilai session sekaligus mereset cookie gunakan method session_clear_all. Method ini sangat disarankan untuk digunakan pada fungsi logout.

$this->session->session_clear_all();

Regenerate

Untuk me-regenerate session id, method yang digunakan adalah regenerate();

$this->session->regenerate();

Diskusi