Php Fonksiyon Çağırma
Php function Nedir ?
PHP’nin kendi içinde yüzlerce fonksiyonu vardır. Diğer derslerde gördüğümüz isset(), empty(), unset() gibi. Fonksiyon oluşturmak ve kullanmak gayet basit, ama basit olduğu gibi derin konuları da var.
Öncelikle php fonksiyonları nasıl oluşturacağımızı gösterelim:
function topla($sayi1, $sayi2) {
$sonuc = $sayi1 + $sayi2;
echo $sonuc;
}
topla(5, 10); //fonksiyon çağrımı
Parametreli fonksiyon yaptığımızda sorunsuz çalışabilmesi için tüm parametrelerin girilmesi gerekir. Mesela yukarıda verdiğimiz topla fonksiyonunu topla(1); şeklinde çalışmaya kalktığımızda PHP hata verecektir.
Çünkü fonksiyonu 2 tane parametre ile çalışmak üzere tasarladık. Ama bu durumlara bir istisna sağlayarak parametrelerimize varsayılan değer atayıp, parametresiz de çalışmalarını sağlayabiliriz.
function hosgeldin($isim = ‘Misafir’)
{
echo ‘Hoşgeldin ‘ . $isim . ‘! ‘;
}
hosgeldin(); //Çıktı:Hoş geldin Misafir
hosgeldin(‘webirinci’); // Çıktı:Hoş geldin webirinci
Return İfadesi ile Sonucu Atama
Yukarıda yaptığımız tüm örneklerde fonksiyon sonuçları echo ile ekrana yazdırdık. Peki ya biz php fonksiyonları üzerinden elde ettiğimiz sonuçları ekrana yazdırmak değilde bir değişkene atayıp kullanmak istiyorsak? İşte o zaman return ifadesini kullanacağız.
Return ifadesi ile fonksiyon içinde elde ettiğimiz sonucu dışarıya aktarırız.
Örnek;
function topla($sayi1, $sayi2) {
$sonuc = $sayi1 + $sayi2;
return $sonuc;
}
$hesap = topla(10, 20);
echo ‘Fonksiyon ile toplama yaptık ve sonuç: ‘ . $hesap;
Fonksiyonlarda Referans ile Değer Atama
Return ifadesini kullanarak değer atama yaparken fonksiyonun başında bir değişkeni ona atamak için (=) eşittir operatörünü kullanırız. Ama dizilerde sıralama yapan fonksiyonları (sort(), rsort()) bu şekilde kullanmıyorduk.
Sadece fonksiyonu çalıştırarak dışarıdan parametreye gönderilen değişkenin değerini referanslar ile değiştirebiliriz.
Referans uygulamak istediğimiz değişkenin başına (&) operatörünü koyarız. Bu operatörü yerleştirdiğimiz parametreler, dışarıdan verilecek olan değişkenlerle beraber değişirler.
function topla(&$sayi) {
$sayi = $sayi + 10;
}
$x = 10;
topla($x);
echo $x; //Çıktı: 20
Serialize,UnserializeBase64,md5,sha1 Kullanımı
Serialize,Unserialize
Serialize fonksiyonu, php içinde kullandığımız nesneleri ya da dizileri bir dosya yada değişken üzerinde string olarak saklamamıza yardımcı olur.
unserialize fonksiyonu yardımıyla da sakladığımız bu verileri geri çağırıp kullanabiliriz.
$dizi1=array(‘tc’ => 123,’ad’ => ‘ali’, ‘vize’ => 50,’final’=> 40);
var_dump($seri=serialize($dizi1)); //serileştiriliyor
var_dump(unserialize($seri));//seri değer dönüştürülüyor
Base4Encode,Base64Decode
Base64_Encode ve base64_decode, MIME sistemine göre bilgiyi 64 bit kodlar/kodçözer..
$q=$_SERVER[‘QUERY_STRING’];
echo “<br> Query string=”.$q;
//kodlama
$kodlanmis=base64_encode($q);
echo “<br> Kodlanmış query string=”.$kodlanmis;
//kod çözümü
$kod=base64_decode($kodlanmis);
echo “<br> query string değeri=”.$kod;
Sha1,Md5,Crc32
Md5 ile şifreleme
PHP- Kodu:
$parola=12345;
$guvenli_parola = md5($parola);
echo $guvenli_parola;
Bu kodları sayfamızdaki php taglarının arasına koydugumuz ve çalıştırdıgımız zaman karşımıza çıkacak 12345 in şifrelenmiş hali “827ccb0eea8a706c4c34a16891f84e7b” bu olacaktır.
Sha1 ile şifreleme
PHP- Kodu:
$parola=12345;
$guvenli_parola = sha1($parola);
echo $guvenli_parola;
Mantık falan aynı fakat bunu çalıştırdıgımız zaman alacagımız şifreleme farklı olacaktır sha1 ile”8cb2237d0679ca88db6464eac60da96345513964″ bu sonucu alacaz.Bununda mantıgı md5 ile aynıdır üretilen değer 32 bittir.
crc32 ile şifreleme
PHP- Kodu:
$parola=12345;
$guvenli_parola = crc32($parola);
echo $guvenli_parola;
Bu kodu çalıştırdığımız zaman karşımıza “-873121252” böyle bir sonuç çıkacaktır.
Birdahaki yazımızda görüşmek üzere…