Php 8 Default Parametre Ataması

Php 8 Default Parametre Ataması

PHP 8'de default (varsayılan) parametre ataması, bir fonksiyon çağrılırken parametre verilmediği durumlarda bu parametrelere varsayılan bir değer atanmasını sağlar. Varsayılan parametreler, fonksiyon çağrıldığında isteğe bağlı olarak değiştirilebilir, ancak verilmediğinde varsayılan değer devreye girer.

1. Varsayılan Parametre Atama Kuralları

  • Varsayılan bir değer atanmış parametreler, her zaman zorunlu parametrelerden sonra gelmelidir. Aksi takdirde PHP hata verir.
  • Varsayılan parametreler, bir değer sağlanmadığında fonksiyonun bu parametreler için kullanacağı değerleri belirler.

2. Varsayılan Parametre Kullanımı

Bir fonksiyonun parametrelerine varsayılan değer atamak için, parametre tanımına = işareti ile varsayılan değeri ekleriz.

Örnek:

<?php function selamla( $isim = "Misafir" ) { echo "Merhaba, $isim!<br>"; } // Parametre gönderilmezse varsayılan değer kullanılır selamla(); // Çıktı: Merhaba, Misafir! // Parametre verilirse varsayılan değer kullanılmaz selamla("Ali"); // Çıktı: Merhaba, Ali! ?>

Bu örnekte, selamla() fonksiyonuna bir parametre verilmezse, $isim parametresi için varsayılan olarak "Misafir" kullanılır. Ancak, bir parametre verilirse (örneğin "Ali"), bu parametre kullanılır.

3. Birden Fazla Varsayılan Parametre

Bir fonksiyonda birden fazla parametreye varsayılan değer atanabilir. Zorunlu parametreler, varsayılan parametrelerden önce gelmelidir.

Örnek:

<?php function kullaniciBilgisi( $isim, $yas = 18, $sehir = "Bilinmiyor" ) { echo "İsim: $isim, Yaş: $yas, Şehir: $sehir <br>"; } // Sadece zorunlu parametre olan isim verilir kullaniciBilgisi("Ayşe"); // Çıktı: İsim: Ayşe, Yaş: 18, Şehir: Bilinmiyor // İsim ve yaş parametreleri verilir, şehir varsayılan olarak kullanılır kullaniciBilgisi("Mehmet", 25); // Çıktı: İsim: Mehmet, Yaş: 25, Şehir: Bilinmiyor // Tüm parametreler verilir, varsayılan değerler kullanılmaz kullaniciBilgisi("Ali", 30, "İstanbul"); // Çıktı: İsim: Ali, Yaş: 30, Şehir: İstanbul ?>

Bu örnekte, kullaniciBilgisi() fonksiyonunda sadece isim zorunlu bir parametredir. Diğer iki parametre ($yas ve $sehir), isteğe bağlıdır ve varsayılan değerler atanmıştır.

4. Varsayılan Parametrelerin Sıralanması

PHP’de varsayılan parametreler her zaman fonksiyonun zorunlu parametrelerinden sonra yer almalıdır. Eğer önce varsayılan, sonra zorunlu bir parametre tanımlanmaya çalışılırsa, PHP hata verir.

Geçerli Sıralama:

<?php function mesajGonder( $mesaj, $alici = "Bilinmiyor" ) { echo "Mesaj: $mesaj, Alıcı: $alici<br>"; } mesajGonder("Selam!"); // Çıktı: Mesaj: Selam!, Alıcı: Bilinmiyor mesajGonder("Merhaba!", "Ahmet"); // Çıktı: Mesaj: Merhaba!, Alıcı: Ahmet ?>

Geçersiz Sıralama (Hata verir):

<?php function mesajGonder( $alici = "Bilinmiyor", $mesaj ) { echo "Mesaj: $mesaj, Alıcı: $alici<br>"; } ?>

Bu kodda hata oluşur, çünkü varsayılan parametre zorunlu parametreden önce tanımlanmıştır.

5. Varsayılan Parametreler ile Tip Belirleme

PHP 8'de varsayılan parametrelerle birlikte tip belirleme (type hinting) de kullanılabilir. Tip belirleme, parametrenin belirli bir veri türünde olmasını zorunlu kılar.

Örnek (Tip Belirleme ile Varsayılan Parametre):

<?php function topla( int $a, int $b = 5 ): int { return $a + $b; } echo topla(10); // Çıktı: 15 (10 + 5) echo topla(10, 20); // Çıktı: 30 (10 + 20) ?>

Bu örnekte, topla() fonksiyonu birinci parametre olarak int türünde bir değer alır ve ikinci parametre varsayılan olarak 5 atanmıştır. Bu parametreler üzerinde yapılan işlemin sonucunda dönen değer de int türündedir.

6. Adlandırılmış Parametreler ve Varsayılan Parametreler

PHP 8 ile gelen adlandırılmış parametreler (named arguments) ile birlikte varsayılan parametreler daha esnek bir şekilde kullanılabilir. Parametrelerin sırasına bakmaksızın, isimleriyle fonksiyona değer gönderilebilir.

Örnek:

<?php function kullaniciBilgisi( $isim, $yas = 18, $sehir = "Bilinmiyor" ) { echo "İsim: $isim, Yaş: $yas, Şehir: $sehir <br>"; } kullaniciBilgisi(sehir: "Ankara", isim: "Ali"); // Çıktı: İsim: Ali, Yaş: 18, Şehir: Ankara ?>

Bu örnekte, adlandırılmış parametreler kullanılarak sırası gözetilmeksizin değerler fonksiyona gönderilmiştir. $yas parametresi için bir değer verilmediğinden, varsayılan değeri olan 18 kullanılır.

7. Sonuç

PHP 8'de varsayılan parametre atamaları, fonksiyonların daha esnek bir şekilde kullanılmasını sağlar. Fonksiyonlara zorunlu olmayan parametreler eklenebilir ve bu parametrelere varsayılan değerler atanabilir. Bu, özellikle çok sayıda opsiyonel parametreye sahip fonksiyonlar için büyük kolaylık sağlar.



Yorum Ekle

Üzerine gel