Zincirleme ve Kısa Sınıf Kullanımı

Static ile kısa kullanım yöntemi

<?php 
class durgun{
    static function birlestir($isim,$soyisim) {
    	echo $isim.' '.$soyisim;
    }
}

durgun::birlestir("Acun","Ilıcalı");
?>

Public ile zincirleme kullanım yöntemi

<?php class genel {
    public $adi;
    public $soyadi;
    public function adi($adi) {
        $this->adi = $adi;
        return $this;
    }
    public function soyadi($soyadi) {
        $this->soyadi = $soyadi;
        return $this;
    }
    public function birlestir() {
        echo $this->adi.' '.$this->soyadi;
    }
    
}
$b=new genel;
$b->adi('Acun')->soyadi('Ilıcalı')->birlestir();
?>

 

Direkt veya Süreli Yönlendirme

Normal Direkt Yönlendirme

<?php header('Location: /index.php'); ?>

Süreli Yönlendirme

<?php 
function sureliyonlendir($url,$saniye){
	$mesaj="$saniye saniye sonra $url sitesine yönlendirileceksiniz.<br>";
	$mesaj.="Eğer beklemek istemiyorsanız <a href=\"$url\">buraya tıklayınız</a>";
	return header("refresh:$saniye;url=$url").die($mesaj);
}

sureliyonlendir("index.php",3);
?>

 

Dizilerde Aynı Olan veya İstenen Verileri Silme ve Sırasını Düzenleme

Dizideki benzer isimleri silme işlemi

<?php 
$dizi=array('armut','elma','portakal','elma','portakal','kivi','armut');
$sonuc=array_unique($dizi);
print_r($sonuc);
/*Çıktısı
Array ( [0] => armut [1] => elma [2] => portakal [5] => kivi )
*/
?>

Dizideki istenen isimleri silme işlemi

<?php
$dizi=array('armut','elma','portakal','elma','portakal','kivi','armut');
$cikarilacak=array("elma","armut");
$sonuc=array_diff($dizi,$cikarilacak);
print_r($sonuc);
/*Çıktısı
Array ( [2] => portakal [4] => portakal [5] => kivi )
*/
?>

Dizideki sıralama(indis)leri düzenleme işlemi

<?php 
$dizi=Array(2 => "portakal",4 => "portakal", 5 => "kivi");
$sonuc=array_values($dizi);
print_r($sonuc); 
/*Çıktısı
Array ( [0] => portakal [1] => portakal [2] => kivi )
*/
?>

Anlık Arama

<?php if(isset($_POST["aranan"])){//ajax sorgu sonucu başılyor
	echo '<iframe src="http://www.sahibinden.com/kelime-ile-arama?query_text='.$_POST["aranan"].'" width="100%" height="100%" frameborder="0"></iframe>';
}else{
//sayfamızın ilk yüklemesi başlıyor
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf8"> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){
	$(".kelime").focus();//ok tuşları için
	$(".kelime").keyup(function(){
		$("#sonuc").html('');//sonuç divini temizle
		var arama = $(this).val();//arama değerini al
		$.ajax({
			type: "POST",
			url: "index.php",/*burayı bu dosyanın adı ile değiştiriniz*/
			data: "aranan="+arama,
			success: function(data){
				$("#sonuc").html(data);
			}
		});
	});
}); 
</script>
<input type="text" class="kelime" placeholder="Birşey mi aradınız?" style="width:100%"><div id="sonuc"></div>
<?php } ?>

 

WordPress Arama Algoritması

Sizler için wordpress arama algoritmasını analiz edip sistemin nasıl çalıştığını göstermek için mini bir fonksiyon hazırladım.

<?php 
header('Content-Type: text/html; charset=utf-8');
function arama($veri,$limit){
 mb_internal_encoding("UTF-8");
 $limit=" LIMIT ".$limit;
 if(!empty($veri))
 $q=mysql_real_escape_string(implode(" ",array_unique(array_filter(array_map('trim',explode(',',mb_strtolower(stripslashes($veri))))))));
 $sql="SELECT * FROM makale 
 WHERE baslik LIKE '%".$q."%' OR icerik LIKE '%".$q."%'
 ORDER BY (
 CASE 
 WHEN baslik LIKE '%".$q."%' THEN 1 
 WHEN icerik LIKE '%".$q."%' THEN 2 
 ELSE 3
 END
 ),id DESC ".$limit;
 return $sql;
}
echo arama("php",10);
/*Çıktısı
SELECT * FROM makale 
WHERE baslik LIKE '%php%' OR icerik LIKE '%php%' 
ORDER BY ( CASE WHEN baslik LIKE '%php%' THEN 1 WHEN icerik LIKE '%php%' THEN 2 ELSE 3 END ),id DESC 
LIMIT 10
*/
?>

 

Php Nedir?

 

Herkese Merhaba,
PHP dilini kısaca, dinamik web sayfaları hazırlamak için geliştirilmiş web tabanlı programlama dili olarak tanımlayabiliriz.Server taraflı çalışan bir betik dildir.Açılımı Hypertext Preprocessor (Üstün yazı ön işlemcisi)’dür.
1995 yılında Kanadalı yazılımcı Rasmus Lerdorf tarafından oluşturulmuştur. Lerdorf ilk zamanlarda sayfasına gelen ziyaretçilerin sayısını tutmak için yazdığı Perl scriptleriyle bir nevi PHP‘nin temellerini atmış oldu.Yıllar sonra PHP, C dili ile tekrar kodlanmıştır.Bu eğitim setinde anlatınlar HTML , CSS ve Javascript dillerini bildiğiniz varsayılarak anlatılacaktır.
PHP ile yapılabilecek şeyleri saymak neredeyse mümkün değildir.Dilerseniz yapısında barındıran büyük web sayfalarına bakalım.
*http://www.google.com
*http://www.twitter.com
*http://www.facebook.com
*http://www.wikipedia.com
*http://www.travian.com
PHP Kullanmanın Avantajları Nelerdir?
*PHP açık kaynak lisansına sahiptir (GNU) dolayısıyla kullanırken bir ücret ödemeniz gerekmez.
*Basit söz dizimi dolayısıyla öğrenimi kolaydır.
*Birçok veritabanı yönetim sistemiyle beraber çalışabilir.
*Derlemeye ihtiyaç yoktur.Bir not defteri ile bile PHP kodu yazabilirsiniz.
PHP Nasıl Çalışır ?
PHP derlemeye ihtiyaç duymaz. Serverda PHP yorumlayıcısı php komutlarını okur ve bize html çıktı olarak sunar.Bir tarayıcıda öğeyi denetle seçeneğini kullanarak php kodlarına ulaşılamaz.Çıktı phpnin yorumlanmasıyla elde edilmiş html komutlardan ibarettir.
SYNTAX
Php komutları <?php tagıyla başlayan ve ?> tagıyla son bulan bloğun arasına yazılır.Genellikle her satırdan sonra “;” kullanılır.Ekrana çıktı basmak için genelde echo komutu kullanılır.

<?php
echo "Merhaba Dünya !";
?>

YORUM SATIRLARI
Php yorumlayıcısı bize kodların arasına yorum ekleme seçeneği sunmaktadır. Geli hep birlikte bunlara göz atalım.

<?php
#TEK SATIRLIK BİR YORUM
//TEK SATIRLIK BİR YORUM
/* ÇOK SATIRLI
BİR YORUM */
?>

Bu şekilde yazdığımız yorumlar PHP motoru tarafından yorumlanmaz.Kodu daha sonra incelerken daha iyi anlamak ve diğer geliştiricilere kendimizi daha iyi anlatmak adına yorum satırlarını kullanmak gerekir.
Şimdilik esen kalın!

Alexa Sıralama

<?php 
function alexa($url){//phpstate.ulusanyazilim.com 25.02.2015
 $domain= preg_replace(array('~^https?\://~si','~[/:#?;%&].*~','~\.$~',),'',$url);
 if(preg_match('#^www.(.*)#i',$domain)){
 $domain=preg_replace('#www.#i','',$domain);
 }
 $baglan=file_get_contents("http://www.alexa.com/siteinfo/".$domain);
 preg_match_all('/class="metrics-data align-vmiddle">(.*?)<\/strong>/',$baglan,$sira);
 preg_match('/<h4 class="metrics-title">(.*?)>(.*?)<\/a>/',$baglan,$ulkebaslik);
 preg_match_all('/id="linksin-panel-content"(.*?)class="font-4 box1-r">(.*?)</si',$baglan,$backlink);
 $alexa["dunya_siralamasi"]=$sira[1][0];
 $alexa["ulke_adi"]=$ulkebaslik[2];
 $alexa["ulke_siralaması"]=$sira[1][1];
 $alexa["backlink"]=$backlink[2][0];
 return $alexa;
}

//Örnek Kullanım
$url="http://phpstate.ulusanyazilim.com";
print_r(alexa($url));
/* Çıktısı
Array
(
    [dunya_siralamasi] => 707,217
    [ulke_adi] => Turkey
    [ulke_siralaması] => 21,467
    [backlink] => 17
) */

Seo Sef Link

Ünlü sitelerce kullanılmış olan yapıyı sizlerle paylaşıyorum

<?php
function seflink($s) {
    $tr = array('ş','Ş','ı','İ','ğ','Ğ','ü','Ü','ö','Ö','Ç','ç','&amp;');
    $eng = array('s','s','i','i','g','g','u','u','o','o','c','c','');
    $s = str_replace($tr,$eng,$s);
    $s = strtolower($s);
    $s = preg_replace('/&amp;amp;amp;amp;amp;amp;amp;amp;amp;.+?;/', '', $s);
    $s = preg_replace('/[^%a-z0-9 _-]/', '', $s);
    $s = preg_replace('/\s+/', '-', $s);
    $s = preg_replace('|-+|', '-', $s);
    $s = trim($s, '-');
    return $s;
}


//Örneğin


echo seflink("Çünkü & sizler yenilikçisiniz");

//Çıktısı "cunku-sizler-yenilikcisiniz"

?>

Önbellekleme

Her seferinde aynı içeriğe sahip olan sayfalarınızı önbellekleyerek hem veritabanınıza olan bağlantıları azaltır, hemde sayfaları daha hızlı yüklersiniz.

Cache çalışma mantığı php sayfalarınızı html olarak saklayıp, sonraki seferde html olarak görüntülemesidir.

<?php
header('Content-Type: text/html; charset=utf-8');
class onbellek{//PHPSTATE ÖNBELLEK SINIFI
	public $zamanasimi=300;
	var $sorgu;
	var $dosya;
	var $soket;
	var $baslangic;
	var $bitis;
	function mikrosure(){
		list($usure, $sure) = explode(" ",microtime()); 
		return ((float)$usure + (float)$sure);
	}
	function kontrol(){
		$this->baslangic=0;
		$this->bitis=0;
		$this->baslangic=$this->mikrosure();
		if ($this->sorgu == ''){$this->soket = 1;return 1;}
		$this->dosya = $this->sorgu.'.onbellek'; 
		 if ((time()-@filemtime($this->dosya)) > $this->zamanasimi) { 
			 $this->soket = true;
			 return true;  
		 }else {      
			 $this->soket = false;         
			 return false;  
		 }
	 }
	function baslat(){
		if ($this->soket) {@ob_start();}       
	}
	function bitir(){
		if ($this->soket){
			$icerik = @ob_get_contents();
			@ob_end_clean();
			if ($f = @fopen($this->dosya, "wb")){
				@fwrite($f, $icerik);
				@fclose($f);
			}
			echo $icerik;
		}
	}
	function icerik(){
		@readfile($this->dosya);
	} 
	function bosalt(){
		@unlink($this->sorgu.'.onbellek');
		return $this->sorgu.'.onbellek';
	}
	function zaman(){
		$this->bitis=$this->mikrosure();
		if(($this->bitis - $this->baslangic) < 1){
			return (($this->bitis - $this->baslangic)*1000)." milisaniye";
		}else{
			return ($this->bitis - $this->baslangic)." saniye";
		}
	}
}


////////////////ÖRNEK////////////////////////

$onbellek = new onbellek();
$onbellek->sorgu = '100000 test';//onbellek dosya adı 

if(isset($_GET["temizle"])){//TEMİZLEME SORGUSU
	die($onbellek->bosalt().' Temizlendi <a href="?" >Normali Göster</a>');
}else{//SAYFA GÖSTERİMİ BAŞLATILIYOR
	
	if ($onbellek->kontrol()){
		echo "Önbellek Yok"."<br>";
		$onbellek->baslat();
?>
		
<?php 
//PHP SAYFA KODLARIMIZIN BAŞLANGICI/////////////////////////////////////////////////
		for ($i=1; $i<100000; $i++) {
			echo $i.'-';
		}
//PHP SAYFA KODLARIMIZIN BİTİŞİ///////////////////////////////////////////////// 
?>
		
<?php
		$onbellek->bitir();
	}else{
		echo "Önbellek Var"."<br>";
		$onbellek->icerik();
	} 
	echo '<hr /><br />'.$onbellek->sorgu.' Oluşturulma '.$onbellek->zaman().' <a href="?">Yenile</a> ya da <a href="?temizle=ok">Temizle</a>';
}
?>