Yenilenen teknolojilerde her zaman istediğimiz birşey vardır. “HIZ”
Hep daha hızlı olmasını isteriz. Tıkladığımızda açılsın, hatta tıklayacağımızı hissedip öncesinden haberi varmış gibi hızlıca cevap vermesini bekleriz. Kimlerden bekleriz. Tabi ki yazılımlar, programlardan.
Codeigniter kullandığımız bir sistemde sayfa ( browser taraflı tabiki ) açılış, derleme hızını yükseltmek, bekleme süresini düşürebilmek için uğraşırken HTML çıktısının boşluklarının browserlarımızı ne kadar yorduğunu düşündük. Klasik hızlandırma senaryoları bir çoğumuzun bildiği gibi CSS ve Javascript dosyalarının minify ( küçültülmesi ) edilmesinden geçer. Bunlarda bir yere kadar yeterli olacaktır. Biz ekstra olarakda HTML çıktığımızı da azaltmak istedik.
Bu sayede sayfanın toplam boyutu düşüceği için ufakda olsa bir hız kazanmayı hedefledik. Başarılı olduğumuza inanıyorum. Sizlerde farklı yöntemler kullandıysanız paylaşabilirsiniz.
Codeigniter tarafında biz bu işlemi direkt olarak SYSTEM > CORE > LOADER sıfınının view fonksiyonuna uyguladık. Hem ajax requestlerimizde hemde standart HTML outputlarında oldukça başarılı sonuçlar verdi.
Aşağıdaki gibi düzenlemeniz yeterlidir. Replace fonksiyonu yerine daha hızlı bir metodda tercih edilebilir. Özel bir fonksiyon dahi yazılabilir fakat deneme sürecini preg_replace oldukça iyi atlattı.
public function view($view, $vars = array(), $return = FALSE) { $buffer = $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_object_to_array($vars), '_ci_return' => $return)); $search = array( '/\n/', '/\>[^\S ]+/s', '/[^\S ]+\</s', '/(\s)+/s' ); $replace = array( ' ', '>', '<', '\\1' ); return preg_replace($search, $replace, $buffer); }
Genelde sistemlerin ve framework’lerin CORE’larında oynamak tehlikelidir. Bazen risk almak lazım.
Codeigniter frameworküne özel değildir. Fonksiyonu farklı yapılarda da yapınıza göre düzenleyip kullanabilirsiniz.
Hızlandırma tekniklerinden ileride bahsedeceğim. SQL sorgularınızdan tutunda sayfada kullanılan değişken temizleme olaylarından bahsedeğim. Bunu ilk adım olarak sayfabilirsiniz. 🙂