Ders – 8 PHP’de Fonksiyonlar
Fonksiyon; bizim aynı kodları tekrar tekrar yazmamak için kullanacağımız komuttur.
Oldukça basit bir kullanımı vardır.
Örneğin,
1 2 3 4 5 6 7 8 |
<?php function fonkisyon_adi() { #fonksiyonun içinde gerçekleştirecek işlemler. } fonkisyon_adi();#daha sonra her fonksiyon_adi(); komutunu #çağırdıkça içerideki işlemleri gerçekleştirecek. ?> |
Gelin basit bir örnek yaparak çalışma durumuna bakalım,
1 2 3 4 5 6 7 8 9 |
<?php function merhaba() { echo "Selam<br>"; } merhaba(); merhaba(); ?> |
Yukarıdaki kod iki kez alt alta ekrana “Selam” yazdıracaktır.
Fonksiyonları parametreler ile kullanmak,
1 2 3 4 5 6 7 8 9 10 11 |
<?php $neyekadar = 8;#programın içindeki global değişken. function doguluMerhaba($bunakadar)#fonksiyoun parametresi olan yerel değişken. { for($i=0; $i<$bunakadar;$i++) { echo "Merhabalar<br>"; } }# $bunakadar fonksiyon dışında kuıllanılamaz. doguluMerhaba($neyekadar); ?> |
Yukarıda neler döndüğünü basitçe anlatacak olursak, parametresi $bunakadar olan tek parametreli bir fonksiyon oluşturuldu. Çağrılırken ise $neyekadar değişkenin değeriyle çağrıldı ve onun değerine göre işlem yapıldı.
Şuana kadar bütün fonksiyonlar geri değer döndürmüyordu şimdi ise bize return değimi yardımı ile bir değer gönderecek.
Geri değer döndüren fonksiyonlar,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php function enKucukTamBolen($deger) { $donendeger; for($i=2; $i<=$deger; $i++) { if($deger%$i == 0) { $donendeger=$i; break;#dögüyü kırmak için. } } if($donendeger == $deger) return "Sayınız Asaldır ve 1 den başka yanlızca kendisine tam bölünebilir."; else return "Sayınızın en küçük böleni = ".$donendeger; } echo enKucukTamBolen(17); ?> |
Fonksiyon, Döngü,Kontrol Yapısı,Operatörler ve Değişkenler hemen hemen daha önceki tüm yazılarda anlattığımız şeyleri içinde barındıran kodumuz,adım adım neyi neden yaptığımızı anlatarak gitmek istiyorum.
- Çağırırken neden echo komutu ile beraber kullandık?
Şöyle ki biz daha önce fonksiyonları çağırırken yazdırma işlemini fonksiyonun içinde yapıyorduk bu fonksiyonda ise herhangi bir yazdırma işlemi yok yazdırmak istediğimiz şeyler bize return ile değer olarak dönüyor, bizde bu fonksiyonu yazdırmak istediğimizde fonksiyonun dönüş değerini yazdırmış oluyoruz.
Bu dönüş değerini başka bir değişkene kaydedip kullanabilirdik.