Panada Framework 1.0.0 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 Resources\Session;

Konfigurasi

Bagian konfigurasi Library Session terletak pada file app/config/session.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.

  • cookieExpire

    cookieExpire menentukan berapa lama cookie session disimpan di browser.

  • cookiePath

    cookiePath menentukan path-mana berlakunya cookie session.

  • cookieSecure

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

  • cookieDomain

    cookieDomain 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.

  • driverConnection

    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:

  • storageName

    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:

setValue

Berikut adalah contoh mengisikan nilai baru ke dalam session.

$this->session->setValue('user_id', '1234');
$this->session->setValue('user_email', 'jhon@myemail.com');
$this->session->setValue('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->setValue($data);

getValue

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

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

deleteValue

Berikut adalah contoh cara menghapus nilai session satu-persatu:

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

destroy

Untuk menghapus semua nilai sekaligus mereset cookie gunakan method destroy:

$this->session->destroy();

regenerateId

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

$this->session->regenerateId();

Diskusi