CodeIgniter, PHP üzerine yazılmış ve MVC (Model-View-Controller) kalıbı kullanan bir çatıdır (framework). Eşdeğer PHP çatıları arasından hızlı oluşu, elastikliği ve öğrenim kolaylığı açısından diğerlerinden öne çıkmaktadır. Ancak, CodeIgniter küçük çaplı internet sitelerinde uygulanması dezavantajı nedeniyle, MVC yapılarına ilk başlayan programcılar için tercih edilir.CodeIgniter, paket kütüphanelerinin yanı sıra kullanıcının yazacağı kendi kütüphanelerini de kabul etmektedir. Bu yazıda CodeIgniter ile Java uygulama çatısı MooTools‘un birlikte çalışması için kendimize ait bir kütüphane yazacağız.Kendi yazdığımız kütüphanelerimizi applicaiton/libraries dizini altına yükleyeceğimiz için önce bu dizin altına mootools.php isimli bir dosya açıyoruz. Dosyayı düzenlemek için bir editör programda açıp ilk satırına aşağıdaki cümleyi ekliyoruz : Bu cümle ile birlikte dışarıdan gelecek bir saldırıda kütüphanemizin çalışmasını engellemiş oluruz. Kendi yazacağımız her türlü CodeIgniter kütüphanesi için ilk iş bu satırı eklemek olmalıdır. Ancak, bu satır model, view ve controller dosyalarında olmamalıdır.Daha sonra kütüphanemizin adının olduğu sınıfı yaratıp, içinde kullanacağımız sabitleri birer değişken ismini atıyoruz:class Mootools{var $mootools_file = ‘js/mootools-release-1.11.js’;var $newline = “n”;var $tab = “t”; Burada $mootools_file değişkeninde mootools’un kullandığımız versiyonunun bulunduğu dizini tanımlıyoruz. Diğer değişkenler de sırasıyla, yeni satır ve tab değişkenleridir.Mootools kütüphanesi çalıştırıldığında CodeIgniter tarafından kontrol edilecek ilk sınıf kütüphanenin kendi adı ile olan sınıfı, yani Mootools metodudur. Bu metodta, Mootools sınıfı çalıştırılarak kayıtlara (log) sınıf ile ilgili mesajlar gönderilir. Eğer tanımlanan dizinde Mootools dosyası bulunamadıysa hata mesajı olarak ekrana ve kayıtlara bilgi verilir.function Mootools(){$this->obj =& get_instance();log_message(‘debug’,’Mootools Kütüphanesi ‘.get_class($this->obj).’ sınıfı ile başlatıldı’);$this->obj->load->helper(‘url’);if (!file_exists($this->mootools_file)) {log_message(‘error’,’Mootools dosyası ‘ . $mootools_location.’ adresinde bulunamadı.’);show_error(‘Mootools dosyası ‘ . $mootools_location.’ adresinde bulunamadı.’);}} Kütüphanemizi başlatmak için başlangıç metoduna ihtiyacımız olduğu için init() metodunu tanımlıyoruz:function init(){return ‘‘ . $this->newline;
}
Kütüphanemizde son olarak yapacağımız iş, kullanacağımız değişik scriptler için amaca uygun kod parçaları yazmak olacak. Örneğin Mootools içinde kullanacağınız yazı editörü MooEditableiçin yazacağınız metod aşağıdaki gibidir. Bu metodta yer alan değişkenler sizin dosya kurulumunuza göre değişecektir:function mooeditable(){$output =’

‘. $this->newline;return $output;}
Kütüphanemiz ihtiyacınıza göre zenginleştireceğiniz metodlar ile gelişebilir. Ancak şimdilik bu kadar olduğunu düşündüğümüz kütüphanemizi nasıl yükleyip çağıracağımızı anlatalım. Kütüphanemizi çalıştırmak istediğimiz controller dosyasının içinde, ilgili metoda aşağıdaki kod parçasını yazmamız, kütüphaneyi çağırmamız için yeterlidir:class Item extends Controller {function Item(){parent::Controller();}function index(){$this->load->library(‘mootools’);$data[‘extraHeadContent’] = $this->mootools->init().$this->mootools->mooeditable();} Benzer şekilde MooTools için yazılmış bu kütüphaneyi diğer Java uygulama çatıları için de kendiniz geliştirebilirsiniz.