Php Hakkında Bir Kaç Soru.
-
Selam arkdaşlar php hakkında merak ettiğim 2 şey var..
Şimdi php de fonksiyon oluşturuyoruz:function p($parametre){
return trim(mysql_real_escape_string(strip_tags($_POST[$parametre])));
}
gibisinden. peki bu fonksiyonu hiç kullanmasak bu şekilde sunucuyu etki edermi yani php bu fonksyonu kullanmadıkça işler mi?
2. olarak birde css compress olayı var site optimize olayında görmüştüm.
Peki mysql den veri olarak çektiğim herhangi bir html veya css kodunu php yardımıyla compress edilmiş şekilde bastırabilirmiyiz?bunun için herhangi bir sınıf vs varmı?
-
WildWamqire bunu yazdı
Selam arkdaşlar php hakkında merak ettiğim 2 şey var..
Şimdi php de fonksiyon oluşturuyoruz:function p($parametre){
return trim(mysql_real_escape_string(strip_tags($_POST[$parametre])));
}
gibisinden. peki bu fonksiyonu hiç kullanmasak bu şekilde sunucuyu etki edermi yani php bu fonksyonu kullanmadıkça işler mi?
2. olarak birde css compress olayı var site optimize olayında görmüştüm.
Peki mysql den veri olarak çektiğim herhangi bir html veya css kodunu php yardımıyla compress edilmiş şekilde bastırabilirmiyiz?bunun için herhangi bir sınıf vs varmı?
1. Sorunun Cevabı: Kesinlikle işlemez. Sanıyorum hiç bi yazılımda da işlemez. Deneme için function turan(){lsşadjoasşkjfsakmf} gibi hatalı bir fonksiyon yazabilirsin. Hata almayacaksın (belki böyle hata verir ama denemedim yani :D ama mesela bağlantı hatası verilmeyecektir vs.)
2. Sorunun Cevabı: Tabiki mümkün
Kodlarınen başına ob_start() koyuyorsun. Tüm işlemlerin en sonunda örneğin $html_çıktı şeklinde değişkene ob_get_contents(); atıyorsun
$html_çıktı = ob_get_contents();
Daha sonra ob_end_clean(); ile görüntüyü siliyorsun. Sonra echo $html_çıktı diyerek bastırıyorsun.
Yani
/* bir takım kodlar tüm genel çıktı*/
$html_çıktı = ob_get_contents();
ob_end_clean();
echo $html_çıktı;?>
Peki bunun neresinde sıkıştırma?
Html sıkıştırma fonksiyonu
function html_sıkıştır($buffer) {
$search = array(
'/\>[^\S ]+/s', // strip whitespaces after tags, except space
'/[^\S ]+\ '/(\s)+/s' // shorten multiple whitespace sequences
);
$replace = array(
'>',
'<',
'\\1'
);
$buffer = preg_replace($search, $replace, $buffer);
return preg_replace(array('//Uis',"/[[:blank:]]+/"),array('',' '),str_replace(array("\n","\r","\t"),'',$buffer));
}Çıktıyı yazdırırken bu fonksiyondan süzdür.
----------------------------------------------------
function css_sıkıştır($buffer) {
$buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
$buffer = str_replace(array("\r\n","\r","\n","\t",' ',' ',' '), '', $buffer);
$buffer = str_replace('../img', '_tema/klasik/img', $buffer);
$buffer = str_replace('../', '', $buffer);
$buffer = preg_replace(array('(( )+{)','({( )+)'), '{', $buffer);
$buffer = preg_replace(array('(( )+})','(}( )+)','(;( )*})'), '}', $buffer);
$buffer = preg_replace(array('(;( )+)','(( )+;)'), ';', $buffer);
return $buffer;
}Yukarıdaki aynı şekilde css sıkıştırma. Yalnız salt .css dosyalarında kullanmalısın
------------------------------------------------------
function js_sıkıştır($buffer) {
$buffer = str_replace(array("\r","\n\n","\t"), ' ', $buffer);
return $buffer;
}Yukarıdaki de js sıkıştırma.Koddan da anlayacağın üzere pek bi başarısı yok. Çünkü js sıkıştırmak zulüm bunun için yahoo js compress felan kullanmalısın. Yine bunda da .js dosyalarında kullanmalısın
--------------------------------------------------------
Başka sorun varsa cevaplayabilirim canım sıkılmıştı da hocam
by_Tet tarafından 10/Eyl/13 19:36 tarihinde düzenlenmiştir -
Eyw hocamm.
ben mysqlden 2 tablodan hem css hem js hem html çekiyorum oldugu gibi. şimdi üç tane örnek gördüm aklım karıstı :))Kod yapısı aynen bu sayfanın
<?php ob_start(); define("Direkerisim",true); require 'vt.php'; require 'fonk.php'; /* $aPAr 0=sitedurum 1=fare 2=bayrak 3=kar */ $git = g('fm'); if (!$git){ require '../404.php'; exit();} $eksBul = mysql_query("select sahip,sahip_ayarlar,site_hit from ayarlar where sahip='$git'"); $eksGoster = mysql_fetch_array($eksBul); $aPar = explode(',',$eksGoster['sahip_ayarlar']); require 'fcs_js.php'; $iso_bul = mysql_query("select tasarim,stil_kodlari from tasarim where sahip='$git'"); $tasGoster = mysql_fetch_assoc($iso_bul); $tas = yasak(serverislem(stripslashes(trim($tasGoster['tasarim'])))); $stil = yasak(serverislem(stripslashes(trim($tasGoster['stil_kodlari'])))); Switch ($git) { case "".f($eksGoster['sahip']).""; if ($aPar[0] == 1) { require 'html/share_bar.php'; echo $stil.$tas ; } else { require 'bakim.php'; } break; default: require '../404.php'; break; } ob_end_flush(); ?> -
WildWamqire bunu yazdı
Eyw hocamm.
ben mysqlden 2 tablodan hem css hem js hem html çekiyorum oldugu gibi. şimdi üç tane örnek gördüm aklım karıstı :))Kod yapısı aynen bu sayfanın
Hocam stil kodlarını css_sıkıştır fonksiyonundan geçir.
Js kodlarını js_sıkıştır fonksiyonundan geçir
Tüm html kodlarını da dediğim yöntemle html_sıkıştır fonkisyonundan geçir
-
by_Tet bunu yazdıWildWamqire bunu yazdı
Eyw hocamm.
ben mysqlden 2 tablodan hem css hem js hem html çekiyorum oldugu gibi. şimdi üç tane örnek gördüm aklım karıstı :))Kod yapısı aynen bu sayfanın
Hocam stil kodlarını css_sıkıştır fonksiyonundan geçir.
Js kodlarını js_sıkıştır fonksiyonundan geçir
Tüm html kodlarını da dediğim yöntemle html_sıkıştır fonkisyonundan geçir
function sanitize_output($buffer) {
$search = array(
'/\>[^\S ]+/s', // strip whitespaces after tags, except space
'/[^\S ]+\</s', // strip whitespaces before tags, except space
'/(\s)+/s' // shorten multiple whitespace sequences
);$replace = array(
'>',
'<',
'\\1'
);$buffer = preg_replace($search, $replace, $buffer);
return $buffer;
}ob_start('sanitize_output');
skıştırma için aynen üsttekini yaptım işe yaradı..
-
WildWamqire bunu yazdıby_Tet bunu yazdıWildWamqire bunu yazdı
Eyw hocamm.
ben mysqlden 2 tablodan hem css hem js hem html çekiyorum oldugu gibi. şimdi üç tane örnek gördüm aklım karıstı :))Kod yapısı aynen bu sayfanın
Hocam stil kodlarını css_sıkıştır fonksiyonundan geçir.
Js kodlarını js_sıkıştır fonksiyonundan geçir
Tüm html kodlarını da dediğim yöntemle html_sıkıştır fonkisyonundan geçir
function sanitize_output($buffer) {
$search = array(
'/\>[^\S ]+/s', // strip whitespaces after tags, except space
'/[^\S ]+\ '/(\s)+/s' // shorten multiple whitespace sequences
);$replace = array(
'>',
'<',
'\\1'
);$buffer = preg_replace($search, $replace, $buffer);
return $buffer;
}ob_start('sanitize_output');
skıştırma için aynen üsttekini yaptım işe yaradı..
Ahah :D Tabiki haklısın hocam doğru bu da.
Ben mesela çoklu veri çektiğinde felan isteğe bağlı aktarım için söylediğim yöntemle kullanıyordum yazdığım template enginede :) Orjinali senin dediğindir fonksiyonu da ordan almıştım :)
-
mod_deflate,etag,cdn bunları önce bi araştır.
js ve css dosya sayını minimum tut. birleştir.
görselleri metasız kaydet.
htmlde ilk önce style dosyanı çağır. mümkün olduğunca az inline style kullan. tarayıcı daha çabuk render eder.
sonra bu şeker toolu kullan yönergelerini harfiyen uygula.
ilk soruna cevaben; fonksiyonlar çağrılmadıkları sürece çalışmazlar. lakin include ettiğin her satır kod ara bellekte yerini alır.
blala(); /// direk çağırdım.
$a = blabla(); /// çağırdım bi de değişkene atadım ara belleğin amına koydum.
mecbur kalmadıkça değişken kullanmamaya özen göster.
