Cuma, 18 Mart 2011

Kullanım Tavsiyeleri

 

İngilizcede "tips and tricks" olarak geçen bilgiler içinde, benim en çok kullandıklarımı bu yazıda anlatmak, sizlerden gelecek katılımlarla bu yazıyı genişletmek niyetindeyim. Her başlık ile kısa özetini verdiğim bu bilgiler, kod yazarlarının kullanım tarzına göre farklılık gösterebilirler.

Callback Kullanımı

Form doğrulama amacıyla kullandığımız callback fonksiyonları model dosayaları ile bağlantı yaparak, kullanıcı tarafınadn girilen değeri kontrol ederler. Ancak callback fonksiyonları kullanılırken eğer özel (private) fonksiyon yapılmazlarsa dışarıdan erişime açık olurlar. Eğer özel fonksiyonlar için ismin önüne altçizgi opsiyonunu seçtiyseniz (form adının _check_input olduğunu kabul edersek), form doğrulama satırında callback fonksiyonlarını çağırma şekli şöyle olmalıdır:

$this->form_validation->set_rules('input', '', 'trim|xss_clean|required|callback__check_input');

Callback Fonksiyonlarında Girdilerin Kullanımı

Bir form ile kullanıcıdan aldığınız değişkenler, callback fonksiyonlarına herhangi bir şekilde aktarma gereği olmadan, fonksiyon içinde doğrudan kullanılabilirler.

 function _check_id(){
  $id = $this->input->post('id');
 }

Farklı Modellerin Aynı Controller`da kullanılması

Bazen farklı model dosyalarında kullandığımız model fonksiyonlarını aynı controller içinde kullanmamız gerekebilir. O durumda, model dosyası yüklenirken ikinci opsiyon olan isim opsiyonunu kullanmamız yeterlidir. Örneğin, yükleme sırasında:

 $this->load->model('birinci_model', 'Birinci_Model');
 $this->load->model('ikinci_model', 'Ikinci_Model'); 

Kullanım sırasında ise:

 $this->Birinci_Model->birinci_model_fonksiyonu();
 $this->Ikinci_Model->ikinci_model_fonksiyonu();

Config Dosyası Kullanımı

Kendi sabit değişkenlerimizin bulunduğu konfigürasyon dosyalarımızı application/config dizini altına atarak, controller dosyaları içinde kullanabiliyoruz. Ancak, view dosyalarında da konfigurasyon değişkenlerini kullanmak istersek yapmamız gereken, controller dosyası içinde $this değişkenine bütün içeriği yükleip daha sonra view dosyasında çekmemizdir.

Controller dosyamızdaki değişkene atama işlemi:

$this->my_config = $this->config->item('config_dosyasi');

View dosyamızda çağırma işlemi:

$this->my_config['sabit_1'];

Burada dikkat etmemiz gereken nokta, controller içinden $data değişkeni kullanmamıza gerek kalmadan, istediğimiz sabitlere ulaşabiliyor olmamızdır.

Kullanım kolaylığı sağlayan bilgilerinizi yorum kısmına ekleyerek, bu yazının güncellenmesine katkıda bulunabilirsiniz.

Yorumlar

Çok faydalı bir yazı olacağını düşünüyorum. Config değerleri çağırmak için belki şöyle bir helper fonksiyonu yazılabilir .

function ayar($ayar='',$key='')
{
    $CI =& get_instance();

    $ayar = $CI->config->item($ayar);

    if($key!='')
        return (isset ($ayar[$key]))?$ayar[$key]:'';

    return $ayar;
}

Config değişkenlerinin view içerisinde config_item('değer') şeklinde de bir kullanımı mevcut. Ayrıca controllerdan assign etmeye gerek yok.

Yorum Ekle