Joomla da programlama yaparken oturum boyunca kaydedilmesi gereken değeleri PHP'nin standard yöntemlerini paketleyip geliştirmiş JSessions sınıfını kullanmak oldukça kolaylık sağlıyor.
/* Oturum nesnesini almak için JFactory sınıfını kullanıyoruz. */ $session = JFactory::getSession(); $session->set('Mesaj', 'İşte oturumda kaydedilen bir mesaj'); .... $message = $session->get('mesaj'); echo $message // İstenildiği takdirde nesne ve dizilerde kaydedilebilir. $cart = array(); $cart['urunler'][] = array('item_number' => 12345, 'name' => 'Toshiba'); $cart['urunler'][] = array('item_number' => 98765, 'name' => 'Çanta'); $cart['shippingInfo'] = array('address' => 'Osmanağa', zip => '83957'); $session->set('cart', $cart); .... $cart = $session->get('cart'); // Dizilerde güncelleme yapmak için ilk önce daha önce kaydedilmiş diziyi değiştirin $cart['items'][] = array('item_number' => 10294, 'name' => 'Toshiba ly60'); // Tekrar oturumu aynı adla diziyi kaydettiğinizde güncelleme işlemi tamamlanacaktır. $session->set('cart', $cart); // Aşağıdaki kod yardımı ile bilgiyi silebilirsiniz. $session->clear('cart');
Eğer diğer bileşen, eklenti ve modüllerde de birçok oturum değeri kaydediliyorsa bir ihtimal oturumda kaydedilen değerler aynı olabilir ve bu da sıkıntı yaratabilir. Bu probleminde önüne geçmek için ad boşluğu (Namespace) kullanılabilir.
// Ad boğluğu "bilesenadi" olarak kaydediliyor $session = JFactory::getSession(); $session->set('cart', $cart, 'bilesenadi'); /*Eğer önceden kaydedilmiş bir cart değeri ikinci parametre vasıtasıyla boş bir dizi öntanımlı olarak döndürülüyor */ $cart = $session->get('cart', array(), 'bilesenadi'); $session->clear('cart', 'bilesenadi');