Misteri Session di Symfony


The Session Mistery
The Session Mistery

Sebelum terlalu jauh membicarakan penggunaan Session di Symfony, ada baiknya kita mengingat kembali kapan terakhir kali mengenal Session. Apa itu Session pada web programming? silahkan lihat penjelasan yang ada di wikibook tentang session.

Permasalah utamanya adalah karena komunikasi data (variable) pada web programming bersifat stateless. Sehingga ketika variable kita deklarasikan di page tertentu, maka tidak akan mungkin bisa digunakan kembali pada page berikutnya. Kecuali jika jika parsing menggunakan methods form atau url.

Solusi untuk permasalahan ini adalah dengan menggunakan Session pada sever, atau Cookie pada temp client. Variable yang telah dideklarasikan akan disimpan di Server, dan dapat diakses pada berbagai page/request yang ada di server tersebut. Perlu diingat, karakteristik Session memiliki batasan waktu, id dan akses(PC atau koneksi).

Session dapat digunakan untuk berbagai macam model variable. Saking begitu powerfull nya, session ini akan sangat membantu dalam hal komunikasi data/variable, jika di bandingkan penggunaan form dan sejenisnya. Dan dimungkinkan juga untuk membantu performance aplikasi yang banyak melibatkan peran database dan interaksi user.

Lalu bagaimana Session di Symfony?

Ternyata lebih asyik! Symfony tidak menghilangkan filosofi dasar penggunaan session. artinya kita tetap bisa menggunakan session sebagaimana fungsi nya yang telah kita bahas diatas.

Tapi uniknya, Symfony membagi session dalam 3 kelompok utama berdasarkan kegunaannya :

  1. Session Parsing Variable. digunakan untuk keperluan “lempar-lempar” variable. pada prinsipnya, variable apapun itu (array, string, integer, object, dll) bisa menggunakan session, agar bisa diakses disemua halaman.
  2. Flash Attribute. ini yang cukup unik, variable session ini hanya bisa hidup sekali, setelah itu server akan secara otomatis men-remove nya. cocok digunakan untuk membuat notifikasi, warning, flash info, atau sejenisnya. kita tidak perlu repot-repot melakukan management session (register & remove).
  3. Access Security & Credential. Fungsi yang ketiga tidak kalah bermanfaatnya. ini sangat membantu kita untuk membatasi hak akses pada halaman web. Credential/hak akses user, dibuat dengan session, dengan mudah dapat mengatur pembagian user dan akses nya terhadap page tertentu.

Dan penggunaan nya juga relatif mudah. karena kita cukup mengikuti aturan-aturan konfigurasi yang telah ada, dengan modifikasi sesuka hati sesuai kebutuhan sistem.

Penasaran?? coba aja sendiri disini : http://www.symfony-project.org/gentle-introduction/1_4/en/06-Inside-the-Controller-Layer#chapter_06_user_session dan yang ini http://www.symfony-project.org/gentle-introduction/1_4/en/06-Inside-the-Controller-Layer#chapter_06_action_security


One response to “Misteri Session di Symfony”

Leave a Reply

Your email address will not be published. Required fields are marked *