Belajar Session & Flash Attribute Symfony


Love Session Symfony
Love Session Symfony

Sebelum lanjut baca tulisan ini, disarankan Anda sudah memahami dasar penggunaan Session pada PHP, silahkan cari referensi lengkap nya dengan google atau sedikit disini.

Yakinlah, penggunaan Session di Symfony itu sangat mudah bahkan mengasyikkan. Jikalau Anda mengalami kesulitan atau masalah, maka ingat kembali keyakinan Anda pada kalimat sebelum ini. 🙂

Referensi lengkap penggunaan ini bisa Anda lihat di http://www.symfony-project.org/gentle-introduction/1_4/en/06-Inside-the-Controller-Layer#chapter_06_user_session. Kita akan mencoba penggunaan Session dan Flash Attribute pada Symfony.

Tulisan ini hanya akan membahas bagaimana mana Session Symfony digunakan. Tapi untuk apa penggunaannya, silahkan menurut kreatifitas masing-masing.

Penggunaan Session Symfony.

Jika pada PHP penggunaan session harus mengikuti aturan berikut; session_start, session_register, penggunaan $_session, dan session_destroy. Tapi pada symfony Anda cukup melakukan set session, get session dan remove session.

Set session digunakan untuk memasukkan(mendaftarkan) variable tertentu sebagai session.

$username = $request->getParameter('username');
// Store data in the user session
$this->getUser()->setAttribute('uname', $username);

Get session digunakan untuk mengambil ini dari variable session yang telah kita set sebelumnya. bisa dilakukan di action,

$varUsername = $this->getUser()->getAttribute('uname');

ataupun di template action,

<p>
  Hello, <?php echo $sf_user->getAttribute('uname') ?>
</p>

remove session digunakan untuk men-destroy session yang sudah tidak digunakan lagi.

$this->getUser()->getAttributeHolder()->remove('uname');

contoh-contoh diatas menggunakan session dengan nama uname.

Penggunaan Flash Attribute.

ini bukan tentang Adobe Flash. Dari namanya kita bisa menebak, maksudnya adalah atribut yang muncul sekejap (seperti flash camera). Flash Attribute pada Symfony digunakan untuk melempar variable, tanpa form, namun hanya untuk satu kali penggunaan saja. Mungkin untuk ide penggunaannya bisanya untuk keperluan memuntulkan message notification atau flash information atau sejenisnya.

Message Notification
Message Notification

cara penggunaannya, sama dengan session pada symfony. Kita gunakan set dan get Flash. Berikut ini contoh pada action,

$this->getUser()->setFlash('notice', 'Anda Berhasil Logout!');
$value = $this->getUser()->getFlash('notice');

atau penggunaan pada template action,

<?php if ($sf_user->hasFlash('notice')): ?>
  <?php echo $sf_user->getFlash('notice') ?>
<?php endif; ?>

nah, kita tidak perlu bingung dengan banyak nya function symfony tentang session ini. Kalo diperhatikan hanya ada 3  function utama, yaitu set, get dan has. Set berfungsi untuk mengisi nilai kedalam variable session (atau flash). Sedangkan Get untuk mengambil nilai. Dan Has digunakan untuk mengecek, apakah variable session tersebut punya nilai(isi) atau tidak.

Selamat Mencoba.

 

Gampang kah? beeungeeuuut paaakk!! 😀

 


Leave a Reply

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