Panada Framework 0.3.1 Documentation

Session

Panada memiliki tiga media penyimpanan data session yang bisa digunakan yaitu cookie, database, cache dan 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:

  • Expiration

    Expiration 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'.

  • name

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

  • cookie_expire

    Cookie_expire menentukan berapa lama cookie session disimpan di browser.

  • cookie_path

    Cookie_path menentukan path-mana berlakunya cookie session.

  • cookie_secure

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

  • cookie_domain

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

  • driver

    Driver menentukan media penyimpanan session. Pilihannya adalah cookie, database, cache dan native.

  • driver_connection

    Koneksi yang digunakan pada driver database atau session.

    Jika driver yang dipilih adalah database dan driver database yang digunakan adalah mysql, postgresql atau sqlite, berikut adalah struktur databasenya:

  • storage_name

    Nama yang digunakan untuk menyimpan data session baik itu di dalam database (table) atapun cache (collection/namespace).

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