Codeigniter Flashdata Kütüphanesi
Yazar: tkaratug / Kategori: Codeigniter / Yorum: 1

Flashdata Nedir?
Codeigniter frameworkünde Session kütüphanesi ile birlikte kullanılan flashdata, üzerine atanan veriyi bir sonraki http requestine kadar tutan ve daha sonra otomatikman silen bir methoddur. Genellikle kullanıcıya bilgilendirme mesajları göstermek için kullanılır. Örneğin bir kayıt formu ile üye kaydı yapılırken işlem sonucuna göre iletilecek durum mesajı, flashdata üzerine atanır ve kullanıcıya gösterilir.
Flashdata methodunun framework içinde standart kullanımı aşağıdaki gibidir;
$this->session->set_flashdata('veri', 'icerik');
Yukarıdaki kodda içeriğimizi "veri" ismi ile flashdata üzerine atadık. Bir sonraki http requestinde aşağıdaki şekilde ekrana yazdırabiliyoruz;
echo $this->session->flashdata('veri');
Flasher Kütüphanesi
Yukarıda kısaca bahsettiğim flashdata methodunu, bootstrap ile uyumlu olarak bilgilendirme mesajları verecek şekilde geliştirdim. Ayrıca bir form submit edildiğinde, yönleneceği sayfa da belirlenebiliyor ve flashdata bu sayfada gösterilebiliyor.
Flasher ismini verdiğim bu kütüphaneye aşağıdaki linkten ulaşabilirsiniz;
https://github.com/tkaratug/Codeigniter-Flasher-Library
Kullanımı
Flasher.php dosyasını application/libraries dizini altına yapıştırıyoruz.
İster config/autoload.php dosyasından, ister ilgili controller içerisinden kütüphanemizi sisteme dahil ediyoruz.
1- Bir Flashdata Oluşturmak
Flashdata oluşturmak için set_message() methodunu kullanıyoruz.
// Örnek 1
$this->flasher->set_message('Form gönderildi.','success');
// Örnek 2 ( Yönlenecek url, parametre olarak veriliyor )
$this->flasher->set_message('Lütfen tüm alanları doldurunuz.','warning','http://ornek.com');
Yukarıda kullanım örneklerini incelediğimizde;
Örnek 1, 'Form gönderildi' mesajını 'success' tipinde tutuyor.
Örnek 2 'de ise farklı olarak mesajımız 'warning' tipinde tutuluyor ve yönlendirme yapılacak url giriliyor.
Önemli: Mesaj tipi olarak yalnızca bootstrap frameworkünde bulunan alert bileşeni sınıflarından herhangi biri kullanılabilir. (success, info, warning, danger).
2- Bildirim Tipine Göre Flashdata Oluşturmak
Kullanıcıya göstereceğimiz bildirim tipine göre flashdata oluşturmak için aşağıdaki methodlar da kullanılabilir;
$this->flasher->set_success('Bu success tipinde bir bildirimdir.');
$this->flasher->set_info('Bu info tipinde bir bildirimdir.');
$this->flasher->set_warning('Bu warning tipinde bir bildirimdir.');
$this->flasher->set_danger('Bu danger tipinde bir bildirimdir.');
3- Oluşturulan Flashdata Verilerini Kullanmak
Oluşturulmuş flashdatayı kullanmak için get_message() methodunu kullanıyoruz.
echo $this->flasher->get_message();
Bu şekilde forntend ve backend kısımlarıyla aynı anda ilgilenen arkadaşların işini bir nebze de olsa kolaylaştırmışsınız. Elinize sağlık :)