- Katılım
- 2 Ara 2024
- Konular
- 186
- Mesajlar
- 1,981
- Çözüm
- 8
- Online süresi
- 5mo 13d
- Reaksiyon Skoru
- 1,495
- Altın Konu
- 1
- Başarım Puanı
- 206
- MmoLira
- 12,420
- DevLira
- 36
HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. 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.
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:
Burada her argüman doğru sırayla verilmek zorunda.
Eğer sadece 3. parametreyi değiştirmek istiyorsak, önceki parametreleri de belirtmemiz gerekir.
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:
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.
Ö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:
PHP otomatik olarak diğer argümanları (port, parola) varsayılan değerleriyle kullanır.
Ö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.
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
Paylaşım için teşekkürler
- Katılım
- 24 Ağu 2017
- Konular
- 4,297
- Mesajlar
- 16,386
- Çözüm
- 19
- Online süresi
- 6mo 16d
- Reaksiyon Skoru
- 6,869
- Altın Konu
- 708
- Başarım Puanı
- 439
- MmoLira
- 92,107
- DevLira
- 12
Paylaşım için teşekkürler 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 2
- Görüntüleme
- 53
- Cevaplar
- 3
- Görüntüleme
- 76
- Cevaplar
- 2
- Görüntüleme
- 61
- Cevaplar
- 3
- Görüntüleme
- 55



Daha okunaklı kod




