Salı, 1 Şubat 2011

CI 2.0 Versiyonuna Yükseltme

 

CodeIgniter versiyon 2.0.0'a geçmesi ile birlikte, şimdiye kadar kullandığımız eski versiyonları güncellemeyi istersek nasıl bir yol izlememiz gerektiği kullanım kılavuzunda anlatılmış. Burada ana hatları ile neler yapmamız gerektiğini özetleyeceğim.

Öncelikle kök klasörünüzdeki index.php dosyası yerine statik bir dosya yükleyin. Böylece siteye gelenler sabit bir sayfa ile karşılaşsınlar bakım yapıldığını anlasınlar.

Adım 1 : CodeIgniter Dosyalarını Güncellleme

Eğer CodeIgniter'ı indirdiğiniz şekliyle kullanıyorsanız "System" dizini altındaki dosyaları ("application" dizini hariç) siliniz, yeni paket içinde gelen "system" klasörünü ekleyiniz. Eğer System klasörü altında elle değiştiridiğiniz dosyalarınız varsa onları yedekleyiniz.

Adım 2 : get_dir_file_info() Ayarları

Versiyon 2.0.0 ile birlikte geri dönüşsüzlük uyumluluğu değişikliği yapıldı. Çok nadir kullanılan bir fonksiyon olsa da, eğer kodlarınızda get_dir_file_info() fonksiyonunu kullandıysanız öz yinelemeli kullanımlarda $top_level_only değerini FALSE yapmalısınız.

Adım 3: Plugin Dosyalarınızı Helper Yapın.

2.0.0 versiyonu ile birlikte Plugin dosyaları kullanımı kaldırılıp Helper dosyaları kullanımına geçildi. Bu nedenle Plugin dosyalarınızın adını filename_pi.php yerine filename_helper.php olarak, dizinini de applicaiton/helpers dizini olarak değiştirilmesi gerekir. Ayrıca controller dosyalarında helper dosyası olarak yüklenmelidir.

$this->load->helper('foo');

Adım 4: Şifrelenmiş Dataların Yenilenmesi

Eğer şifrelenmiş data tutmuyorsanız ya da Encryption kütüphanesiyle çalışmıyorsanız, Mcrypt kullanmıyorsanız bu adımı atlayabilirsiniz.

Şifreleme, hem performansı hem de güvenliği etkileyen bir konu olması nedeniyle CodeIgniter bu versiyonda bazı iyileştirmeler yapmıştır. Yeni eklenen encode_from_legacy() fonksiyonu ile şifrelenmiş data alıp vermede daha güvenli ve geliştirilmiş bir method sunulmaktadır.

Adım 5: Uyumluluk Helper Dosyası Kaldırıldı

Uyumluluk Helper dosyası CodeIgniter çekirdeğinden kaldırıldı. Burada bulunan tüm fonksiyonlar (file_put_contents(), fputcsv(), stripos() vs) PHP'de bulunan fonksiyonlar gibi kullanılabilir.

Adım 6: Sınıf Önekleri Yenilendi

Tüm sınıfların adına CI_ ön eki getirildi. Controller ve Model dosyalarınızdaki genişletilen sınıf isimlerini CI_Controller ve CI_Model olarak değiştirmelisiniz.

Adım 7: Parent Constructor Çağrıları Yenilendi

CodeIgniter 2.0.0 versiyonunda PHP5 kullanımına geçilmesi ile birlikte __construct() çağrıları, parent::__construct() olarak değiştirilmelidir.

Adım 8: Kullanım Kılavuzunun Yenilenmesi

Dahili kullanımlarınız için kullanım kılavuzunu resimleri ile birlikte güncelleyin.

Yorumlar

Ek olarak MY_Controller.php dosyanızı libraries/ dizininden core/ dizinine almanız gerekmektedir. Yeni sürüm ile birlikte Controller.php system/libraries/ içerisinden system/core/ içerisine alındı. Eğer yapmazsanız CI, load ederken sorun çıkarıyor. Extend ederken dosyayı bulamıyor.

Yorum Ekle