TR Kodlama

10 Temmuz 2010, Cumartesi

CSS veya JS Dosyalarını Birleştirin

Yönetilebilirliği kolay olsun diye Css veya JavaScript kodlarını çoğunlukla ayrı ayrı dosyalarda tutarız. Fakat bunları birleştirmeniz sitenizi hızlandıracaktır.

Yönetilebilirliği kolay olsun diye Css veya JavaScript kodlarını çoğunlukla ayrı ayrı dosyalarda tutarız. Örneğin ben, formları biçimlendiren css kodları ile resetleme yapan css kodlarını aynı dosyada tutmayı tercih etmem. Bu şekilde hiyerarşik çalışmak işleri kolaylaştırıyor. Fakat bunun bir dezavantajı var ki dosyaları web sayfamıza bağladığımızda dosya sayısı kadar HTTP isteği yapılıyor. Ayrıca istemci tarafından yapılan her bir istekte, sunucu dosyaları yeniden yüklüyor (bunun için özel bir ayar yapmadıysak). Bu durumdan kurtulmak için herşeyi tek bir dosyada birleştirip, bu dosyayı da önbelleğe almak web sayfalarımızın hızını arttıracaktır.

 

İlk önce dosyaları tek bir dosyada birleştirelim

Yazmış olduğum CombileFiles sınıfı yardımıyla Css veya JavaScript dosyalarınız tek bir dosyada birleştirilir ve bazı sıkıştırma işlemleri uygulanır. Bu işlem hem dosya boyutunu çok aşağıya çeker hem de yalnızca 1 HTTP isteği yapılmasını sağlar. Ve ayrıca sizin belirlediğiniz yaşam süresi (lifetime) boyunca dosyaların içeriği sunucudan değil ziyaretçinin kullandığını web tarayıcısının önbelleğinden çağrılır.

Öncesi:

 

Sonrası:

Şimdi de sonuçlara gözatalım

Yukarıdaki örnekte, css dosyaları için eskiden 5 HTTP isteği yapılırken şimdi 2 tane yapıldığı görülmektedir. “index.css” dosyası hariç diğer css dosyaları her istekte sunucudan tekrar yüklenirken şimdi ise tarayıcı önbelleğinden çağrılmaktadır. E peki yaptığımız bu değişiklikler web sayfamız ne kazandırdı? İşte sonuç:

Öncesi:

 

Sonrası:

eburhan CombileFiles class

Siz de benim eburhan CombileFiles class isimli sınıfımı kullanarak çok kolay ve zahmetsiz bir şekilde css veya js dosyalarınız birleştirebilirsiniz. Sınıfı kullanmak gerçekten çok kolay. Alttaki kodları bir combine.css.php dosyasına yazıyorsunuz ve sıkıştırılacak dosyaların bulunduğu yere kaydediyorsunuz. (not: daha önceden bir “cache” klasörü oluşturmuş ve bunu yazılabilir yapmış olmalısınız)


require_once 'eb.combinefiles.php';

$conf = array
(
'fileList' => array(
'_reset.css',
'_iskelet.css',
'_ozeller.css'
),
'cacheDir' => './cache/',
'cacheExt' => '.css',
'lifeTime' => 864000,
'compress' => array('gzip', 'css'),
'mimeType' => 'text/css',
'encoding' => 'utf-8'
);

CombineFiles::getInstance()
->setConf($conf)
->combine();

?>

Daha sonra web sayfanızın etiketleri arasında bu dosyayı şöyle çağırmanız yeterli olacaktır:

 rel="stylesheet" type="text/css" href="/css/combine.css.php" />

Sonuç

Sınıfı eBurhan Araçları sayfasından indirebilirsiniz. İçerisinde bir örnek de mevcut.

Oral ÜNAL

eBurhan - Kaynağı Görüntüle

Yeniurl   Tusul   Delicious   Digg   Facebook   Twitter   Reddit   Stumbleupon   Technorati

RSS RSS ile haberlerimizi takip edin.


Yorumlar

Henüz hiçbir yorum yapılmamış.

Yorum Yap

Yorum yapabilmek için giriş yapmalısınız.


Etiketler

combile class, dosyaları birleştirme sınıfı

En Çok Okunanalar

1) C++ Dersleri: 2. Ders
2) Windows 7 Kaç Para?
3) C++ Dersleri: 1. Ders
4) Porno Siteleri Birer Tehdit
5) PHP Dersleri: 8. Ders
6) PHP Dersleri: 1. Ders
7) JavaScript 2
8) Real Football 2009
9) Microsoft Security Essentials
10) Facebook Sunuculardan Şikayetçi


En Son Eklenen Haberler

1) Mozilla'da Böcek Avı Sezonu
2) 50 Saatlik Oyun
3) Vodafone'dan Şok Kampanya
4) Google Metaweb'i Aldı
5) GNOME 3: Geleceğin Masaüstüsü
6) Google'ın Gizli Silahları 1
7) Ücretsiz Font Çevirici
8) resizeMyBrowser
9) PS3 İçin Blu-ray 3D Güncellemesi Geliyor
10) Çin'den İmaj Düzeltme Oyunu


En Son Eklenen Makaleler

1) HTML Uzantılı Dosyalarda PHP Çalıştırma
2) PHP'de Cookie'ler
3) Warning: Cannot modify header information
4) Bilgisayar Güvenliği
5) PHP ile Email Sansürleme
6) Bir Element Üç Background
7) PHP ile XML Dosya'dan Veri Çekme
8) PHP ile Watermark Yapımı
9) jQuery ile Rakam Sayımı Yapmak
10) Flash ve Z-Index Problemi


En Son Eklenen İncelemeler

1) Logitech Z323 Video İnceleme
2) Firefox 4 Beta 1
3) Microsoft Security Essentials
4) Real Football 2009
5) Firefox 3.5 RC2
6) FlashGet 1.9.6
7) DAV-DZ280 Ev Sineması Sistemi


Bizi Takip Edin

RSS YayınlarıTwitter Twitleri


©2009 TR Kodlama - Güncel haberler, makaleler ve incelemeler
Hakkımızda | Forum | Kullanıcı Girişi | Reklam | Destekleyin | İletişim | Site Haritası | RSS

Telif hakkı: TR Kodlama'nın içeriği Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License ile lisanslanmıştır. İçeriğin TR Kodlama editörleri tarafından üretilmiş kısmı, atıfta bulunularak, ticari çalışmalar haricinde, değiştirilmeden dağıtılabilir ve kullanılabilir.

Valid HTML 4.01 Transitional Valid CSS!