Php’de fonksiyonlar, başka bir yerde kullanılabilecek her türlü işlemleri içlerinde gerçekleştirebildiğimiz ve gerekirse farklı yerlerde de isimleriyle çağırabildiğimiz kod bloklarıdır. Bu fonksiyonların bulundukları kod bloklarını programımızın istediğimiz bir yerinde kullanabilmekte özgür olduğumuzdan, içerisine giren değişkenleri değiştirerek istediğimiz gibi kullanabiliriz.
Fonksiyonlar, programlamada sıkça kullanılan bir araçtır. Fonksiyonlar, bir işlemi gerçekleştirmek için yazılmış bir kod bloğudur ve genellikle bir veya daha fazla parametre alır. Fonksiyonlar, bir kod bloğunu tekrar kullanmanızı ve karmaşık işlemleri daha küçük parçalara ayırmanızı sağlar.
PHP’de fonksiyonlar kullanmanın birçok avantajı vardır. Fonksiyonlar, tekrar kullanılabilir kod blokları olarak tanımlanır, bu nedenle kodunuzda aynı kodu tekrar tekrar yazmanız gerekmez. Bu, kodunuzu daha sade ve okunaklı hale getirir. Fonksiyonlar, ayrıca programınızın daha düzenli ve kolay yönetilebilir hale gelmesine de yardımcı olur.
Fonksiyon Tanımlama
PHP’de fonksiyonlar, function
anahtar kelimesi ile tanımlanır. Fonksiyonların adı, sonra parantezler içinde bir veya daha fazla parametre ve işlevin gövdesi yer alır.
Örnek olarak, bir fonksiyon tanımlayarak, verilen iki sayının toplamını döndürmesi için kullanabilirsiniz:
function topla($sayi1, $sayi2) {
$toplam = $sayi1 + $sayi2;
return $toplam;
}
Bu örnekte, topla()
adlı bir fonksiyon tanımlandı. Fonksiyon, $sayi1
ve $sayi2
parametrelerini alır ve bu sayıların toplamını hesaplar. Sonra, toplamı return
anahtar kelimesiyle döndürür.
Fonksiyon Çağrısı
Fonksiyonlar tanımlandıktan sonra, kodunuzda çağrılabilirler. Fonksiyon çağırmak için, fonksiyon adını ve parantez içinde parametrelerin değerlerini belirtmeniz gerekir.
Örneğin, yukarıda tanımlanan topla()
fonksiyonunu çağırmak için, aşağıdaki kod kullanılabilir:
$sonuc = topla(5, 10);
echo "Toplam: " . $sonuc;
Bu örnekte, $sonuc
değişkenine topla()
fonksiyonu çağrılarak 5 ve 10 parametreleri geçirilir. Fonksiyon, bu sayıların toplamını hesaplar ve sonucu $sonuc
değişkeninde saklar. Sonra, sonucu yazdırmak için echo
işlevi kullanılır.
Fonksiyon Parametreleri
PHP fonksiyonları, bir veya daha fazla parametre alabilir. Fonksiyon parametreleri, fonksiyon içinde kullanılabilen değişkenlerdir ve parametreler, fonksönceki örnekteki gibi topla()
fonksiyonunu düşünelim. Bu fonksiyon, iki parametre alır: $sayi1
ve $sayi2
function topla($sayi1, $sayi2) { $toplam = $sayi1 + $sayi2; return $toplam; }
Bu fonksiyonu çağırmak için, iki sayıyı parametre olarak geçirmeniz gerekir.
$sonuc = topla(5, 10);
Fonksiyon parametreleri, çağıran kod tarafından fonksiyona geçirilen değerlerdir. Bu değerler, fonksiyonun işlevselliğini etkileyebilir.Örneğin, aşağıdaki fonksiyon, $ad
ve $soyad
adlı iki parametre alır ve bu parametreleri birleştirerek tam adı döndürür.
function tamAdiGetir($ad, $soyad) { $tamAd = $ad . ” “ . $soyad; return $tamAd; }
Bu fonksiyonu çağırmak için, $ad
ve $soyad
değişkenlerine atanan değerleri parametre olarak geçirmeniz gerekir.
$ad = “John”; $soyad = “Doe”; $tamAd = tamAdiGetir($ad, $soyad); echo $tamAd; // “John Doe” yazdırır
Fonksiyon Döndürme Değeri
Fonksiyonlar, işlem sonucunu return
anahtar kelimesi ile geri döndürebilir. Döndürülen değer, çağıran kodda bir değişkene atanabilir veya doğrudan yazdırılabilir.Örneğin, aşağıdaki fonksiyon, verilen iki sayının farkını hesaplar ve sonucu geri döndürür.
function farkiGetir($sayi1, $sayi2) { $fark = $sayi1 - $sayi2; return $fark; }
Bu fonksiyonu çağırmak ve sonucu yazdırmak için, aşağıdaki kod kullanılabilir.
$sonuc = farkiGetir(10, 5); echo $sonuc; // "5" yazdırır
Fonksiyonlar, döndürülen değeri kullanıcıya göstermek yerine başka bir işlemde kullanmak için de kullanılabilir.Örneğin, aşağıdaki fonksiyon, verilen iki sayının toplamını hesaplar ve sonucu başka bir fonksiyona parametre olarak geçirir.
function toplaminiDigerFonksiyonaGonder($sayi1, $sayi2) { $toplam = $sayi1 + $sayi2; digerFonksiyon($toplam); }
- Varsayılan Değerler Fonksiyonların bazı parametreleri için varsayılan değerler atanabilir. Bu özellik, bir fonksiyonun birden fazla şekilde kullanılabilmesini sağlar. Eğer bir fonksiyon çağrılırken bir parametre değeri verilmezse, fonksiyon varsayılan değeri kullanır. Aşağıdaki örnekte, fonksiyonun varsayılan değeri 5 olan bir parametresi bulunmaktadır.
function selamVer($isim, $yas = 5) {
echo "Merhaba, benim adım $isim ve ben $yas yaşındayım.";
}
// fonksiyon çağrısı 1
selamVer("Ahmet");
// fonksiyon çağrısı 2
selamVer("Mehmet", 10);
Bu örnekte, selamVer
fonksiyonu, isim
parametresi için değer almak zorunda ancak yas
parametresi için varsayılan bir değer atandığı için kullanıcı tarafından değer verilmesi zorunlu değildir. İlk fonksiyon çağrısında, sadece isim
parametresi verilmiştir, bu nedenle yas
parametresi için varsayılan değer olan 5 kullanılmıştır. İkinci fonksiyon çağrısında, isim
ve yas
parametreleri her ikisi de verilmiştir, bu nedenle yas
için varsayılan değer kullanılmamıştır ve kullanıcının verdiği değer (10) kullanılmıştır.
- Fonksiyonlardan Değer Döndürmek Fonksiyonlar, çalıştırıldıktan sonra değer döndürebilirler. Bu değer,
return
ifadesiyle belirtilir ve fonksiyonun çağrıldığı yerde kullanılabilir. Aşağıdaki örnekte,topla
fonksiyonu, iki sayının toplamını döndürmektedir.
function topla($sayi1, $sayi2) {
$toplam = $sayi1 + $sayi2;
return $toplam;
}
$sonuc = topla(3, 5);
echo $sonuc; // çıktısı 8 olacaktır
Bu örnekte, topla
fonksiyonu, $sayi1
ve $sayi2
parametrelerini alır ve bunların toplamını $toplam
değişkenine atar. Daha sonra, return
ifadesiyle $toplam
değerini döndürür. topla
fonksiyonu, sonuç olarak bir sayı döndürdüğü için, topla
fonksiyonunun çağrıldığı yerde sonuç değişkenine atandı ve bu değişken echo
ifadesiyle ekrana yazdırıldı.
PHP fonksiyon kullanımı
Fonksiyon oluşturmak ve kullanmak kolay ama kolay olduğu gibi derin konuları da vardır. İlk önce nasıl bir fonksiyon oluşturacağımızı gösterelim:
function Merhaba_de() {
echo 'Merhaba!';
}
Ekran çıktısında merhaba diyecektir.
Şimdi de başka bir örnekle daha da açığa getirelim;
function rakamlar() {
for($sayi = 1; $sayi<10; $sayi++) {
echo $sayi;
}
}
rakamlar(); // oluşturduğumuz fonksiyonu çağıralım
ekranda 123456789 yazacaktır.
Fonksiyonlara parametre ekleme
Bu konuyu daha kolay açıklayabilmek için bir örnek yapalım. Örneğin üzerinden açıklayalım;
function topla($sayi1, $sayi2) {
$sonuc = $sayi1 + $sayi2;
echo $sonuc;
}
topla(6, 15);
6 ile 15’i toplayacak ve ekrana 21 yazdıracak.
Başka bir örnek verelim;
İki sayının birbirine bölünüp bölünmediğini kontrol ettireceğiz.
function bolunur_mu($bu, $buna) {
$kalan = $bu % $buna;
if($kalan == 0) {
echo $bu . ' sayısı ' . $buna . ' sayısına bölünür!';
} else {
echo $bu . ' sayısı ' . $buna . ' sayısına bölünmez! (kalan: '.$kalan.')';
}
}
bolunur_mu(30, 5);
bolunur_mu(25, 10);
30 sayısı 5 sayısına bölünür!
25 sayısı 10 sayısına bölünmez! (kalan: 5)
Parametrelere varsayılan değer verme
Parametreli bir fonksiyon yaptığımızda sorun vermemesi için tüm parametrelerin girilmesi gerekir. Parametrelerimize herhangi bir değer atayıp, parametresiz de çalışmalarını sağlayabiliriz.
Parametreli fonksiyon ile örnek yapalım;
function merhaba($isim = 'hasta') {
echo 'merhaba ' . $isim . '! ';
}
merhaba();
merhaba('Naz');
Yaptığımız örnekte merhaba() fonksiyonunu ilk olarak parametresiz, ikinci olarak da parametreli yaptık ve çalıştırdık.
merhaba hasta!
merhaba Naz!
Return ifadesi ile sonucu atama
Fonksiyonlardan elde ettiğimiz sonuçları bir değişkene atayıp kullanmak istiyorsak o zaman return ifadesini kullanıyoruz.
Bir örnek ile açıklayalım:
function topla($sayi1, $sayi2) {
$sonuc = $sayi1 + $sayi2;
return $sonuc;
}
$hesap = topla(40, 50);
echo 'Fonksiyon ile toplama yaptık ve sonuç: ' . $hesap;
fonksiyon toplamayı yaptı ve sonucu $hesap değişkenine gönderdi sonra echo ile ekrana yazdırdık.
Fonksiyonda Global ifadesinin kullanımı
Fonksiyonlar kendi içinde bir dünya diyebiliriz. Fonksiyonların içerisinde tanımladığın değişkenler dışarıya gönderilmez ve aynı şekilde dışarıda tanımladığın bir değişken fonksiyon içinde görülmez.
Bir örnekle açıklayalım;
function örnek() {
$isim = 'Naz';
}
örnek();
echo $isim;
Bu kodu çalıştırdığımızda isim adında bir değişken olmadığı için hata verecektir. Biz $isim değişkenini fonksiyon içinde tanımladığımız için yalnızca orada kullanabiliriz. Dışarıya aktarmak istersek return ifadesini kullanırız.
Fonksiyon içine global bir değişkeni çağırmak istiyorsak global ifadesini kullanırız.
$isim = 'Naz';
function merhaba() {
global $isim; // Dışarıda tanımlanmış bir değişkeni fonksiyon içine çağırdık
echo 'merhaba ' . $isim;
}
merhaba();
Ekran çıktısı merhaba Naz yazar. Global ifadesini kullanarak fonksiyon dışında yazdığımız bir değişkeni içine aktardık ve ekrana yazdırdık. Bir değişkeni içeri aktarmak için mutlaka global fonksiyonunu kullanmamız gerekir.
Fonksiyonlarda referans ile değer atama
Referans uygulamak istediğimiz değişkenin başına (&) operatörünü koyarız.
Örnek verelim;
function topla(&$sayi) {
$sayi = $sayi + 20;
}
$x = 10;
topla($x);
echo $x;
Ekran çıktısında 20 yazar. Burada da fonksiyon içinde o parametreye +20 eklediğimiz için dışarıdaki değişkeninde değeri 20 artmış oldu.
Bu makalede PHP’de fonksiyon kullanımı hakkında genel bir bakış sunduk. PHP’deki fonksiyonlar, programlama dillerinin temel yapı taşlarından biridir ve işlevselliklerini arttırarak kodların tekrar kullanılabilirliğini ve okunabilirliğini sağlarlar.
Makalede fonksiyonların nasıl tanımlanacağı, değişkenlerle nasıl çalışacağı, dışarıdan parametrelerin nasıl alınacağı ve geri dönüş değerlerinin nasıl işleneceği gibi konulara değindik. Bunların yanı sıra, fonksiyonlarda hata ayıklama yapmanın önemi, fonksiyonlar arasında veri aktarımı yapmanın yolları ve PHP’nin birçok hazır fonksiyonlarının nasıl kullanılacağına da değindik.
PHP’de fonksiyonlar, herhangi bir projenin kalitesini ve ölçeklenebilirliğini arttırmak için çok önemlidir. Gereksiz kod tekrarlarından kaçınarak, kod okunabilirliğini ve bakımını arttırarak daha sürdürülebilir bir kod tabanı oluşturmak mümkündür.
Sonuç olarak, bu makalede PHP’de fonksiyon kullanımının temel prensiplerini öğrendik. Umarız bu makale, PHP geliştiricilerinin işlerini kolaylaştırmalarına yardımcı olmuştur.