noisiv 1
noisiv
Manwe Work 1
Manwe Work
Can Öcalan 1
Can Öcalan
mavzermete 1
mavzermete
farkmt2official 1
farkmt2official
Sevdamsın 1
Sevdamsın
Hikaye Ekle

PHP 8 İsimlendirilmiş Argümanlar (Named Arguments) ve Kullanım Şekilleri

Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!

1. İsimlendirilmiş Argüman Nedir?

PHP 8 ile birlikte gelen Named Arguments (İsimlendirilmiş Argümanlar) özelliği, bir fonksiyona parametreleri konum sırasına göre değil, isimlerine göre göndermeyi sağlar.

Bu özellik sayesinde kod daha okunabilir, esnek ve bakımı kolay hale gelir.

2. Geleneksel (Sıralı) Argüman Kullanımı

PHP 8 öncesinde fonksiyon çağrıları, parametre sırasına bağlıydı.
Parametreleri doğru sırayla yazmak gerekiyordu.

Örnek:

Kod:
function kullaniciOlustur(string $isim, int $yas, string $rol = 'üye') {
    echo "$isim, $yas yaşında bir $rol'dir.";
}

kullaniciOlustur('Ahmet', 25, 'admin');

Burada her argüman doğru sırayla verilmek zorunda.

Eğer sadece 3. parametreyi değiştirmek istiyorsak, önceki parametreleri de belirtmemiz gerekir.

3. PHP 8 ile İsimlendirilmiş Argüman Kullanımı

PHP 8’de artık parametre isimlerini yazarak, argümanları sıra bağımsız olarak gönderebiliriz.

Örnek:

Kod:
function kullaniciOlustur(string $isim, int $yas, string $rol = 'üye') {
    echo "$isim, $yas yaşında bir $rol'dir.";
}

kullaniciOlustur(isim: 'Ahmet', yas: 25, rol: 'admin');


Ya da sıralamayı değiştirebiliriz:

kullaniciOlustur(rol: 'admin', isim: 'Mehmet', yas: 30);

Sonuç:

Her iki çağrı da aynı çıktıyı üretir, çünkü artık sıra değil, isim önemlidir.

4. Avantajları

Avantaj​
Açıklama​
✅ Daha okunaklı kod
Fonksiyon çağrısında hangi değerin ne olduğunu açıkça gösterir.​
✅ Sıra esnekliği
Argümanların sırası önemli değildir.​
✅ Opsiyonel parametrelerde kolaylık
Sadece değiştirmek istediğin parametreleri yazabilirsin.​
✅ Hata riskini azaltır
Parametre sırasını yanlış yazma hataları ortadan kalkar.​

5. Sadece İstediğin Argümanları Göndermek

İsimlendirilmiş argümanlar sayesinde varsayılan değerleri atlayabiliriz.

Örnek:

Kod:
function baglantiKur(string $host, int $port = 3306, string $kullanici = 'root', string $parola = '') {
    echo "Bağlanılıyor: $host:$port ($kullanici)";
}

// Sadece host ve kullanıcı adı değiştirildi:
baglantiKur(host: 'localhost', kullanici: 'admin');


PHP otomatik olarak diğer argümanları (port, parola) varsayılan değerleriyle kullanır.

6. Diğer Argümanlarla Birlikte Kullanım


İsimlendirilmiş ve konumlu (positional) argümanlar birlikte kullanılabilir, ancak:

İsimlendirilmiş argümanlar, konumlu argümanlardan sonra yazılmalıdır.

Doğru:

kullaniciOlustur('Ahmet', yas: 22);

Hatalı:

kullaniciOlustur(isim: 'Ahmet', 22); // Hata: isimlendirilmişten sonra konumlu argüman olamaz

7. Dikkat Edilmesi Gerekenler

Parametre isimleri fonksiyon tanımındaki isimlerle birebir aynı olmalıdır.
Yanlış yazılan isimler Error hatası oluşturur.
Kütüphaneler ve framework'lerde (ör. Laravel, Symfony) isimlendirilmiş argümanlar kullanılırken fonksiyon imzası değişirse uyumsuzluk olabilir.​
 

En Çok Reaksiyon Alan Mesajlar

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst