Fonksiyonlar Fonksiyon nedir? PHP’de tanımlı 1000’den fazla fonksiyon vardır. Bu fonksiyonların bir kismini bu kurs kapsamında göreceksiniz. http:// www.php.net/ adresinde tanımlı fonksiyonlar hakkında bilgi bulabilirsiniz. Eğer fonksiyonun adını biliyorsanız örn. http://www.php.net/pow daha detaylı bilgi alabilirsiniz. <?php $deger = pow(5,3); //625 döndürür echo $deger; echo "<br>", pow(5,3); echo "<br>Besin ucuncu kuvveti ".pow(5,3)."tir."; printf("<br>Besin ucuncu kuvveti %d tir", pow(5,3)); ?>
Fonksiyon tanımlamak PHP’de standart olarak tanımlanmış çok geniş fonksiyonlarla birlikte ihtiyacınızı karşılamak için fonksiyonlar tanımlamanız gereken durumlar olacaktır. Function fonksiyonismi(parametre){ fonksiyon komutları } <?php function dipnotekle() { echo "Copyright 2012 Erman YUKSELTURK"; ?> dipnotekle();
Fonksiyon’a değer göndermek Fonksiyonlara parametreleri kullanarak değer(ler) gönderilebilir. Fiyatı ve vergi oranı verilen bir malın fiyatını bulan bir fonksiyon yazalım. <?php function FiyatiBul($fiyat, $VergiOrani) { $toplam=$fiyat + ($fiyat * $VergiOrani); echo "Toplam fiyat: $toplam"; } ?> FiyatiBul(100,0.18); $OdenenPara = 1250.00; $faiz = 0.25; echo "<br>"; FiyatiBul($OdenenPara, $faiz);
Fonksiyonlardaki parametre değişikliklerini kalıcı kılmak <?php $fiyat = 20.99; $vergi= 0.0575; function FiyatiHesapla(&$fiyat, $vergi) { // Fiyat değişkeninin değeri ile oynayalım $fiyat = $fiyat + ($fiyat * $vergi); // $vergi değişkeninin değerini değiştirelim $vergi += 4; } FiyatiHesapla($fiyat, $vergi); printf("Vergi orani %01.2f%% <br />", $vergi*100); printf("Fiyat: $%01.2f", $fiyat); ?>
Önceden belirlenmiş parametre değerleri Bazı parametreler önceden belirlenebilir. Önceden belirlenen parametreler fonksiyon çağrılırken belirtilmemişse tanımda belirtildiği gibi kullanılır. Önceden belirlenen parametre fonksiyon çağrılırken yeni bir değerle çağrılmışsa hesaplamalarda eski değer yerine yeni değer kullanılır. <?php $fiyat = 25; function FiyatiHesapla($fiyat, $vergi=0.10) { // Fiyat değişkeninin değeri ile oynayalım $fiyat = $fiyat + ($fiyat * $vergi); echo "<br>", $fiyat; } FiyatiHesapla($fiyat); FiyatiHesapla(50, 0.20); ?>
İsteğe Bağlı Parametreler Bazı parametreleri isteğe bağlı olarak atayabilirsiniz. Yani fonksiyonu çağırırken ister o parametre ile çağırırsınız, isterseniz fonksiyonu o parametresiz tanımlanmış gibi çağırırsınız. İsteğe bağlı parametreler en sonda tanımlanmalıdır. İsteğe bağlı parametreleri tanımlarken boş "" değer atanır. <?php $fiyat = 25; function FiyatiHesapla($fiyat, $vergi="") { // Fiyat değişkeninin değeri ile oynayalım $fiyat = $fiyat + ($fiyat * $vergi); echo "<br>", $fiyat; } FiyatiHesapla($fiyat); FiyatiHesapla(50, 0.20); ?>
Fonksiyonları değer döndürmesi Fonksiyonlar return () cümlesi ile çağrılan yere bir değer döndürebilirler. <?php function FiyatiHesapla($fiyat, $vergi=0.18) { $fiyat = $fiyat + ($fiyat * $vergi); return $fiyat; } echo $Buzdolabi = FiyatiHesapla(1500); $EtiketFiyati = 1000; echo "<br>", $toplamFiyat=FiyatiHesapla($EtiketFiyati); ?> List kullanılarak birden fazla değer döndürülebilir. function KullaniciBilgileri() $Kullanici[] = "Erman"; $Kullanici[] = "eyukselturk@gmail.com"; $Kullanici[] = "Ingilizce"; return $Kullanici; list ($isim, $eposta, $dil) = KullaniciBilgileri(); echo "<b>Name</b>: $isim, <b>Email</b>:$eposta, <b>Dil</b>:$dil";
Fonksiyon Kütüphanesi oluşturmak Oluşturduğunuz fonksiyonları bir kütüphanede toplayıp, yeniden kullanabilirsiniz. Aşağıdaki fonksiyonları rastgele.library.php adlı bir dosyada kaydedelim. Dosyada sadece fonksiyonlar yazılı olabilir. <?php function KullaniciBilgileri() { $Kullanici[] = “Erman"; $Kullanici[] = "eyukselturk@gmail.com"; $Kullanici[] = "Ingilizce"; return $Kullanici; } function FiyatiHesapla($fiyat, $vergi=0.18) $fiyat = $fiyat + ($fiyat * $vergi); return $fiyat; ?> Bu oluşturduğumuz kütüphaneyi kullanalım. require_once ("rastgele.library.php"); list ($isim, $eposta, $dil) = KullaniciBilgileri(); echo "<b>Name</b>: $isim, <b>Email</b>:$eposta, <b>Dil</b>:$dil"; echo "<br>", $fatura= FiyatiHesapla(500, 0.8);
Dr. Ercan TOP