CSS Kodları içerisinde PHP kullanımı
PHP içerisinde css kullanımı ve php dili ile css dosyalarını sıkıştırma konuları ile ilgili sorulara son zamanlarda rastlar oldum. Bu kou ile ilgili bir doküman hazırlama isteği doğdu dolayısı ile. Birkaç araştırma ile, en iyi sonucu nasıl elde edebileceğiz? Sorusunun cevabını bularak sizlerle paylaşmak istedim. Aslında css sıkıştırma işlemi çeşitli programlarla ya da siteler aracılığı ile yapılabilen bir şey ama neyi nasıl yaptıkları biraz muamma, bazen açma/kapama operatörlerini algılayamayan bu yollar yüzünden sıkıştırılan css dosyaları hata verebiliyorlar, o yüzden en temiz yolu arayarak sizler için buldum.
Bundan sonra php dili ile css dosyalarımızı sıkıştıracağız. Üstelik sıkıştırma programları veya site araçları dosya içindeki kodları tam anlamıyla sıkıştırdıkları için (boşlukları birleştirmek, satır sayısını düşürmek) biz dosyadan değişiklik yapacağımız zaman da, sıkışmış hali ile karşılaşacağız ve düzenleme bizim için sıkıntı olacak. Ya da düzenlenmemiş versiyonunu da her seferinde bulundurup tekrar sıkıştır ile uğraşarak birçok zaman kaybetmiş olacağız.
PHP ile css dosyası sıkıştırma işlemine geçmeden evvel css içerisinde php nasıl kullanırız? Sorusunu cevabını verelim.
PHP içerisinde css kullanmak derken gerçekten bu mana da bir bir işlem yapacağız ve .php uzantılı bir dosya oluşturarak başlayacağız işlemimize. Bu dosya ismi size kalmış; “style.php” ya da “css.php” size göre ne olmasını istiyorsanız o olsun. Dosyamızı oluşturduktan sonra bu dosyanın bir css dosyası işlemi görmesi gerektiğini sunucuya bildirmek gerek. Yani bir görev tanımı yüklemeliyiz. Aksi halde uzantısı php olduğundan dolayı sunucular algılamayacaktır. Bunu yapmak içinde oluşturduğumuz php uzantılı dosyanın 1. Satırına
header("Content-type: text/css");
ob_start();
Kodunu yapıştıralım. Böylece sunuculara bunun bir CSS içerikli dosya olduğunu göstermiş olduk. Dosyamız şimdi hem PHP Hem de CSS içerikli olduğuna göre bu iki dilde de işlem yapabiliriz.
$fontVerdana=”verdana”;
$fontArial=”Arial”;
.php-css{font-family:<?=$fontVerdana?>;}
Yukarıdaki kod örneğinde iki adet font ailesini değişkenlere atadık ve .php-css style’ına bunlardan birisini yazdık. Bu en basit yoluydu göstermek için. Dilerseniz veri tabanına kaydettiğiniz bir değeri de çekebilirsiniz. “İf”, “else” ifadelerini kullanabilirsiniz. Tamamen sizin yaratıcılığınıza kalmış.
PHP Yardımı ile CSS Dosyası Sıkıştırma
Buraya kadar olan kısmı anladıysak şimdide, php ile css dosyası sıkıştırma olayına bakalım.
Bunu yapabilmek için küçük bir fonksiyon oluşturacağız. Hani şu web sitelerimizde kullanıcıların yorum satırlarında, ya da bize gönderdikleri formlarda istemediğimiz karakterleri değiştirdiğimiz fonksiyonlar var ya öyle bir şey işte.
Fonksiyonumuz aşağıdaki gibi olacak.
function php-css-zip($zip){
// Alttaki satırda php ye yorum satırlarını yok etmesini söylüyoruz
$zip= preg_replace('!/\*[^*]*\*+([^">[^*]*\*+)*/!', '', $zip);
// Aşağıdaki satırda da tab, space ya da enter ile oluşturulan boşluklardan kurtulmasını söylüyoruz.
$zip= str_replace(array("\r\n","\r","\n","\t",' ',' ',' '), '', $zip);
return $zip;
}
PHP İle css sıkıştırma için hazırlanan fonksiyonumuzu sayfalarımızda nasıl uygulayacağız diyecek olursanız. En son oluşturduğumuz “.php” uzantılı css dosyamızın en altına gelip.
<?php ob_end_flush();?>
Yazmanız yeterli olacaktır.
İyi çalışmalar.