Codeigniter Dersleri – 23 – Helper – Library (kütüphane)
Daha önceki derslerimizde helper ve library lerden bahsetmiştik ancak proje içinde kullanıldığı için pek fazla ayrıntıya giremedik. Bu dersimizde bu iki konuyu biraz daha açacağım ve kullanım amaçlarından bahsedeceğim. Mesela bir controller dosyanız içerisinde önemli bir fonksiyonunuz var diyelim. Bu fonksiyon bir filtre olabilir mesela, yada bir kontrol mekanizmasıdır. Siz bu fonksiyonunuzu eğer farklı controller dosyalarınız içinde kullanıyorsanız. Her seferinde o controller dosyanıza bu fonkisyonu copy-paste yapmanız gerekiyor. Bu takdir edersinizki zahmetlidir. Çünkü hem kod fazlalığına neden olur hemde koddaki herhangi bir değişikliğin tüm controller dosyalarına teker teker uygulanması zaman kaybıdır. İkinci bir seçeneğiniz var tabiki de buda controller dosyanız içerisinden diğer controller dosyanız olan classınız tanımlayıp, ilgili classın fonksiyonunu çağırmak. Böyle yapmak ise codeigniterın mantığına terstir. Çünkü controllerın amacı belli amaca hizmet eden kod parçalarını bir araya toplamaktır. Hem böyle yapmak sistemin daha zor çalışmasına neden olur.
Peki çözüm nedir? Çözümümüz bu noktada ilgili fonksiyonunuzu bir library içerisine yazmaktır. Bir örnek verecek olursak, en basidinden filtremiz şu şekilde olsun: Fonksiyona gönderdiğimiz tarihin yıl biçiminden geçerli olup olmadığını kontrol etsin ve o an ki yaşını bize döndürsün. Bu fonksiyonu yazmak için öncelikle application/libraries altına “age_lib.php” adında bir dosya açalım ve içerisine alttaki kodları yapıştıralım
Şimdi controller dosyamızdan şu şekilde çağırabiliriz;
Gördügünüz gibi istediğimiz yerden çağırabiliriz artık bu fonksiyonumuzu. İstersek direk view dosyasından çağıralım. Bunun için view dosyamıza şunları yazmamız yeterli:
tabiki controller dosyamızda şu şekilde olacak:
Peki helper lar ne işe yarıyor, helper lar da library gibi kullanılabilir ancak, helper lar direk isimleriyle çağrılırlar yani $this->helper->function() değilde direk function() olarak çağrılırlar. Şimdi yukarıda yazdığımız library i view içerisinde kullanırken gereksiz uzantılardan kurtulmak için helper yazacağız. Bunun için application/helpers altına “age_helper.php” adında bir dosya açalım ve aşağıda ki şekilde kodlayalım.
Şimdi controller dosyamızı tekrar düzenleyelim(helper dosyamızı load etmek için);
Son olarak view dosyamızdan fonksiyonumuzu çağıralım.
gördüğünüz gibi direk olarak validAge() şeklinde kullandık.
Burada kodları uzatmamak için fonksiyona değerleri manuel olarak yolladım. Normalde bir form yardımıyla kullanıdan alınan bir bilgi olacak. Ayrıca bu hazırladığımız helper ve library leri her seferinde controller dosyasına yüklemek istemiyorsanız config/autoload.php içerisinde helper ve library dosyalarınızın isimlerini yazabilirsiniz.
Burada view dosyasında gördüğünüz gibi fonksiyon kullanarak işlemler yaptık. İşte bu noktada php dosyalarıyla uğraşmadık ve sadece fonksiyon olan bölümler php kodu oldu. Bu da demek oluyorki tema yapımında bu şekilde fonksiyonlar kullanılıyor. Örneğin bir wordpress temasını incelerseniz böyle fonksiyonlardan ibaret olduğunu ve fazla php kodu olmadığını görürsünüz. Ve hazırladığınız bir site farklı temalara kolaylıkla taşınabilir. İyi günler.
Bunlara da Göz Atmak İsteyebilirsiniz.
<<< Önceki: Git Nedir? Git Kullanımı – Git Komutları
Sonraki: Git Nedir? Git Kullanımı – Git Komutları – 2 >>>
Gerçekten çok güzel açılamışsınız. Yeterli ve sade. Elinize sağlık.
Desenize helperlarla libraryleri beraber kullanmak daha faydalı, teşekkürler 🙂
gerçekten faydalı bir makale olmuş kardeşim, teşekkür ederim,
Yorum Bırakın!
En Son Yazılanlar
Codeigniter Dersleri
Kategoriler
Teknoloji Haberleri
Android Dersleri
Arşiv
Sitemizin QR Kodu
Yeniliklerden İlk Sizin Haberiniz Olsun
KodMerkezi.Net Facebookta
En Çok Okunanlar
En Son Aranan Kelimeler
En Çok Oy Alanlar
Etiket Bulutu
İlginizi Çekecek Siteler
Arşiv
Yönetim
En Son Yapılan Yorumlar
En Çok Okunanlar