En iyi Xml veya HTML Belgesi Oluşturma Sınıfı

<?php
Class Etiket{
  var $etiketler;
  function Etiket($ac,$icerik = null,$kapat = null){
    $this->ac = $ac;
    $this->icerik = $icerik;
    $this->kapat = $kapat;
  }
  function ekle($ac, $icerik, $kapat){
    $yeni_etiket = new Etiket( $ac, $icerik, $kapat );
    if( $this->kapat == null )
    {
      die("invalid ML object");
    }
    $this->etiketler[] = $yeni_etiket;
    return $yeni_etiket;
  }
  function derle( $derinlik = 0, $paragraf = "\t", $satirbasi = "\n" ){
		$metin=null;
    $centik = str_pad( "", $derinlik, $paragraf );
    $metin .= $centik . $this->ac . $satirbasi;
    if( $this->kapat == null )
      return $metin;
    if( $this->icerik != null)
      $metin .= $centik . $paragraf . $this->icerik . $satirbasi;
    if (is_array($this->etiketler)){
      $anahtarlar = array_keys($this->etiketler);
      foreach($anahtarlar as $anahtar){
        $metin .= $this->etiketler[$anahtar]->derle( $derinlik + 1, $paragraf );
      }
    }
    $metin .= $centik . $this->kapat . $satirbasi;
    return $metin;
  }
}

$ml=new Etiket("<html>","","</html>");
$ml->ekle("<h1>","Merhaba","</h1>");
$ml->ekle("<div>","Ulusan Yazılım","</div>");
echo $ml->derle();

?>

Çıktısı

<html>
	<h1>
		Merhaba
	</h1>
	<div>
		Ulusan Yazılım
	</div>
</html>

 

E-posta Adresi Doğrulama Sınıfı

<?php 
class eposta{
	function dogrula($email){
		if (preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$/", $email)){
			return true;
		}else{
			return false;
		}
	}
	function filtrele($email){
		if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
			return true;
		}else{
			return false;
		}
	}	
	function sonuc($deger){
		if($deger==true){
			return "Geçerli e-posta adresi."."<br>";
		}else{
			return "Hatalı e-posta adresi."."<br>";
		}
	} 
}
$kontrol=new eposta;
//Yöntem 1
$email="ulusanyazilim@gmail.com";
$dogrula=$kontrol->dogrula($email);
echo $kontrol->sonuc($dogrula);
//Yöntem 2
$email="ulusanyazilim@_gmail.com";
$filtrele=$kontrol->filtrele($email);
echo $kontrol->sonuc($filtrele);
?>

Çıktısı

Geçerli e-posta adresi.
Hatalı e-posta adresi.

 

Bir Metindeki Kelimeleri Sayma Sınıfı

<?php 
class kelime_say{
	function kelime_islem($checkstring){
		$kelime_isle = 0;
		$checkstring = preg_replace("/ +/", " ", $checkstring);
		$checkstring = preg_replace("/\n+/", " ", $checkstring);
		$checkstring = preg_replace("/ +/", " ", $checkstring);
		$checkstring = explode(" ", $checkstring);
		while (list(, $word) = each ($checkstring)) {
			if (preg_match("/[0-9A-Za-zÀ-ÖØ-öø-ÿ]/", $word)) {
				$kelime_isle++;
			}
		}
		return $kelime_isle;
	}
}

$test=new kelime_say();
echo $test->kelime_islem('Bu bir deneme metnidir, değil mi?');
?>

Çıktısı

6

 

Tırnak İşaretine Slaş İşareti Ekleme ve Çıkarma Sınıfı

Veritabanına giden verileri bu sınıf ile tırnak işaretinden kurtarabilirsiniz.

<?php 
class slas{
	function ekle($dizi){
		$yayinla = [];
		foreach ($dizi as $anahtar=> $deger){
			if (is_array($deger)){
				$yayinla[$anahtar] = array_merge($yayinla[$anahtar], $this->ekle($deger));
				continue;
			}
			$yayinla[$anahtar] = addslashes($deger);
		}
		return $yayinla;
	}
	function cikar($dizi){
		$yayinla = [];
		foreach ($dizi as $anahtar=> $deger){
			if (is_array($deger)){
				$yayinla[$anahtar] = array_merge($yayinla[$anahtar], $this->cikar($deger));
				continue;
			}
			$yayinla[$anahtar] = stripslashes($deger);
		}
		return $yayinla;
	}
}

$v=new slas;
$dizi1=["elma'nın","armut'un"];
$dizi2=["portakal\'ın","mandalina\'nın"];
print_r($v->ekle($dizi1));
print_r($v->cikar($dizi2));

?>

Çıktısı

Array
(
    [0] => elma\'nın
    [1] => armut\'un
)
Array
(
    [0] => portakal'ın
    [1] => mandalina'nın
)

 

Büyük, Küçük Harf ve Rakam Seçmeli Rastgele Şifre Oluşturma Sınıfı

<?php
class sifre_olustur{
	function sifre_olustur($uzunluk = 8, $tip = FALSE, $buyukharf = FALSE){
		$sifre = md5(uniqid());
		if($tip == "harf") {
			$sifre = preg_replace("/[0-9]/", "", $sifre);
			$yeni_sifre=null;
			if($buyukharf) {
				for ($i = 0; $i < strlen($sifre); $i++) {
					if($i%3 == 0) $sifre[$i] = strtoupper($sifre[$i]);
					$yeni_sifre.=$sifre[$i];
				}
				$sifre = $yeni_sifre;
			}
		} elseif($tip == "sayi") {
			$sifre = preg_replace("/[a-z]/", "", $sifre);
		}
		$sifre = substr($sifre, 0, $uzunluk);
		return $sifre;
	}
}

$g= new sifre_olustur;
echo $g->sifre_olustur(16)."<br>";
echo $g->sifre_olustur(8,"sayi")."<br>";
echo $g->sifre_olustur(12,"harf")."<br>";
echo $g->sifre_olustur(12,"harf",true)."<br>";
?>

Çıktısı

86286a5f013eead7
86286501
afeeadabcfca
AfeEadAbcFca

 

Asal Sayıları Bulmak

Örneğin 0 dan 100e kadar olan sayılar içerisinde asal sayı bulalım.

<?php
class asal{
	function asal_mi($sayi){
		$limit = round(sqrt($sayi));
		$sayac = 2;
		while ($sayac <= $limit){
				if($sayi % $sayac == 0){
					return false;
				}
			$sayac ++;
		}
		if($sayi > 1){
			return $sayi;
		}else{
			return false;
		}
	}
}
for($x=0;$x<100;$x++){
	$asal= new asal;
	echo $asal->asal_mi($x).PHP_EOL;
}
?>

Çıktısı

1 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

 

__call Fonksiyonu ile Parametre Tanımlayarak Veri Alışverişi Yapmak

Bu örnek yaygın olarak set ve get metodu olarak bilinen uygulamayı içermektedir.

<?php
class Sinifim{
  protected $ayarlar = [];
  public function __call($fonksiyon, $parametreler = null){
		if($fonksiyon == 'ver' && count($parametreler) == 2){
			$anahtar = $parametreler[0];
			$deger = $parametreler[1];
			$this->ayarlar[$anahtar] = $deger;
		}elseif($fonksiyon == 'al' && count($parametreler) == 1){
      $anahtar = $parametreler[0];
      if(array_key_exists($anahtar, $this->ayarlar)) return $this->ayarlar[$anahtar];
    }else{
      exit('Veri tanımlanmadı!');
    }
  }
}
$obje = new Sinifim;
$obje->ver('isim', 'Ulusan');
echo $obje->al('isim')."<br>";
$obje->ver('isim', 'Yazılım');
echo $obje->al('isim')."<br>";
?>

Çıktısı

Ulusan
Yazılım

 

__call Fonksiyonu ile Olmayan Fonksiyonu ve Parametrelerini Almak

<?php
class Sinifim{
  public function deneme(){
    echo "deneme fonksiyonu çağırıldı<br>";
  }
  public function __call($fonksiyonAdi, $parametreler = null){
		echo "" . $fonksiyonAdi ." fonksiyonu " . count($parametreler) . " parametre ile çağırıldı!<br>";
		echo "Bu parametreler ";
		foreach($parametreler as $p){
			echo $p." ";
		}
		echo "dir";
  }
}
$obj = new Sinifim;
$obj->deneme();
$obj->benyokum('veri1','veri2');
?>

Çıktısı

deneme fonksiyonu çağırıldı
benyokum fonksiyonu 2 parametre ile çağırıldı!
Bu parametreler veri1 veri2 dir

 

HTML Web Sayfalarına JS Script Oluşturmak

<?php
function jsEkle($adres){
	return "<script language='javascript' type='text/javascript' src='$adres'></script>\n";
}
echo jsEkle("script.js");
echo jsEkle("demo.js");

?>

Çıktısı

<script language='javascript' type='text/javascript' src='script.js'></script>
<script language='javascript' type='text/javascript' src='demo.js'></script>