PHP’de Function (Fonksiyon) Kullanımı

20 Aralık 2014 - 1380 Okunma
PHP’de Function (Fonksiyon) Kullanımı
Başlangıç seviyesinin son derslerine yaklaşırken öğrendiklerimizi bir üst kademeye çıkaracak Fonksiyonlar konusuna giriş yapıyoruz. Matematik derslerinde gördüğümüz f(x) ile bu fonksiyonlar teorik olarak benzerler. Fonksiyonlar bizim işimizi kolaylaştıran bir yapılardır. Aynı kodları her seferinde yazacağımıza bunu bir fonksiyon içinde toplarız (paketleriz) ve kullanmak istediğimizde bu fonksiyonu çağırırız. Kısaca Fonksiyonlar sürekli tekrarlanan bir işi daha kısa […]

Başlangıç seviyesinin son derslerine yaklaşırken öğrendiklerimizi bir üst kademeye çıkaracak Fonksiyonlar konusuna giriş yapıyoruz. Matematik derslerinde gördüğümüz f(x) ile bu fonksiyonlar teorik olarak benzerler.

Fonksiyonlar bizim işimizi kolaylaştıran bir yapılardır. Aynı kodları her seferinde yazacağımıza bunu bir fonksiyon içinde toplarız (paketleriz) ve kullanmak istediğimizde bu fonksiyonu çağırırız.

Kısaca Fonksiyonlar sürekli tekrarlanan bir işi daha kısa sürede yapmak, verileri işlemlerden geçirip çıktı almak için kullanılan yapılardır.

fonksiyon tanımlarken function ifadesi kullanılır.

Fonksiyonun Yapısı

Basit bir fonksiyonun yapısı aşağıdaki gibidir.

function fonksiyonadi(){
İfadeler
}

Fonksiyonların yapısını daha iyi öğrenmek için bir örnek en iyi çözüm olacaktır;

function merhaba() {
echo "Merhaba Dünya";
}

// Kullanımı
merhaba();
// Sonuç
// "Merhaba Dünya" yazar

Yukarıda örnekte gördüğünüz gibi basit bir fonksiyon bu şekilde yazılır.

Fonksiyon Yazılırken Dikkat Edilecek Hususlar

  • function ifadesiyle fonksiyon tanımlaması başr.
  • Sonra fonksiyonun ismi yazılır.
  • Parantez içerisine parametreler yazılır. Parametreler , (virgül) ile ayrılır. Parametrelerin karşısına = (eşittir) ile varsayılan değer belirtilir. Varsayılan değer, parametreye karşılık olan değer verilmediyse kullanılır. Parametre ve varsayılan değer belirtme zorunluluğu yoktur.
  • Fonksiyon içerisinde yapılacak olanlar süslü parantezler ({}) arasına yazılır.
  • Return ile çıktı, dönüş yapılır. Dönüş yapmak zorunlu değildir.

Php’nin kendi içinde yüzlerce hazır fonksiyon vardır.(unset() gibi) Fonksiyon oluşturmak basittir ama kompleks bir fonksiyon oluşturmak için iyi bir bilgiye ihtiyaç vardır. Yaptığımız işlemleri kısalttığı için tercih edilmelidir.

Fonksiyona Parametre Ekleme

Yukarıdaki fonksiyonda dışarıdan bir veri ekleyemiyorduk. Bu sefer dışarıdan bir yada birden fazla veri ekleyerek işlemden geçireceğiz.

<?php
function toplama($ed1,$ed2){
$edtoplam = $ed1 + $ed2;
echo $edtoplam;
}

toplama(8,15);
// Sonuç "23" olur
?>

Yukarıdaki fonksiyonun çalışma prensibini yazarken anlamışsınızdır. Dışarıdan iki veri verdiğimizde fonksiyon bu iki veriyi toplayıp bize sonucu yansıtıyor.

Fonksiyondaki Parametreye Varsayılan Değer Verme

Parametre barındıran bir fonksiyon yapmışsak fonksiyonun sorunsuz çalışabilmesi için tüm parametrelerin girilmesi gerekir. Bunu yapmadığımızda fonksiyon HATA verir.

Bunu aşmak için varsayılan değere sahip bir fonksiyon tanımlayabiliriz.

function merhaba($ad = "Dünya") {
   echo 'Merhaba '.$ad.';
}

merhaba();
// Sonuç "Merhaba Dünya" olur
merhaba("Evren");
// Sonuç "Merhaba Evren" olur

Örneğimizi ilk kez çalıştırdığımızda fonksiyonda parametre belirtmediğimiz için varsayılan değeri fonksiyona ekleyip çalıştırdı.
İkinci kez içine “Evren” yazarak çalıştırdığımızda varsayılan değeri yok sayarak “Merhaba Evren” sonucunu bize yansıttı.

Fonksiyonlarda Değer Döndürme (Return)

Yukarıdaki örnekler dışında bu sefer değeri Echo ile yansıtmak yerine Return ile döndüreceğiz. Return ifadesiyle fonksiyon içinde elde ettiğimiz sonucu dışarıya aktarırız ve bu değeri başka bir kod bloğunda kullanabiliriz.

Yukarıda oluşturduğumuz toplama fonksiyonunu biraz değiştirip kullanalım.

<?php
function toplama($ed1,$ed2){
$edtoplam = $ed1 + $ed2;
return $edtoplam;
}

$topladi = toplama(8,15);
$bideeksi = $topladi - 5;
echo $bideeksi;

// Sonuç "18" olur
?>

Gördüğünüz gibi return ile sonucu değişkene atadık ve bunu da $topladi değişkeniyle eşitledik. Daha sonrada bu değişkeni başka bir işlemde kullandık.

Fonksiyonda Referans Değer Atama

Fonksiyonlara değer atamayı öğrendik, bu kezde fonksiyona değişken atayarak değerlemeyi öğreneceğiz. O da ne mi dediniz, bir örnekle bunu çözeceğiz.
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 toplama(&$ed1){
$ed1 = $ed1 + 5;
}

$desayi = 3;
toplama($desayi);
echo $desayi;
// Sonuç "8" olur

Biraz kafanız karışmış olabilir. Fonksiyonu iyi inceleyerek aslında ne yaptığımızı öğrenelim. Toplama fonksiyonunun parametresinde kullandığımız referans yardımıyla o parametreye yüklenen değişkenin değerini fonksiyonun içinde değiştirmiş oluruz. Örneğede bakarsak değişkene sokup çıkardığımız $desayi değişkeni önce 3 ken fonksiyondan sonra 8 oldu. Yani değeri 5 artmış oldu.

Fonksiyonda Global Kullanımı

Fonksiyonların içerisinde tanımladığımız değişkenler dışarıya gönderilmez ve aynı şekilde dışarıda tanımladığımız bir değişken fonksiyon içinde görülmez. Fonksiyondan Dışarıya değişken aktarmak için return ifadesini kullanırız.

Eğer fonksiyon içine dışarıdan bir değişken sokmak istiyorsak global ifadesini kullanmamız gerekir. Bunu örnekle anlayalım;

$edsite = "ilkteknoloji.com";
 
function hangisite() {
   global $edsite; 
// Dışarıda tanımladığımız bir değişkeni 
// global ile fonksiyon içine çağırdık
   echo "Bu sitenin adresi ".$edsite;
}
 
hangisite();
// Sonuç "Bu sitenin adresi ilkteknoloji.com" olacaktır

Yani bir fonksiyonun dışına değişken atamak için Return; içine değişken çağırmak için Global ifadelerini kullanırız.

Fonksiyon yazımızda burada bitiyor. Daha fazla örnekle fonksiyonları daha iyi anlarız. Bundan sonra varolan örnekleri inceleyerek kendinizi fonksiyonlar konusunda geliştirebilirsiniz.

ITC | İlkteknoloji