PHP 8'de fonksiyonlar

PHP 8'de fonksiyonlar

PHP 8'de fonksiyonlar, önceki sürümlerle büyük ölçüde aynı işlevselliğe sahiptir, ancak bazı yeni özellikler ve geliştirmeler eklenmiştir. İşte PHP 8'de fonksiyonlar ile ilgili önemli konular:

1. Fonksiyon Tanımlama

PHP'de bir fonksiyon, function anahtar kelimesi ile tanımlanır. İşte basit bir fonksiyon tanımı:

<?php function selam( ) { echo "Merhaba!"; } selam(); // Çıktı: Merhaba! ?>

2. Parametreli Fonksiyonlar

Bir fonksiyona parametreler verebiliriz. Parametreler, fonksiyon çağrılırken dışarıdan gelen değerlerdir.

<?php function selamla( $isim ) { echo "Merhaba, $isim!"; } selamla("Ali"); // Çıktı: Merhaba, Ali! ?>

3. Varsayılan Parametre Değerleri

PHP'de bir parametreye varsayılan bir değer atanabilir. Eğer fonksiyon çağrılırken bu parametre verilmezse, varsayılan değer kullanılır.

<?php function selamla( $isim = "Dünya" ) { echo "Merhaba, $isim!"; } selamla(); // Çıktı: Merhaba, Dünya! selamla("Ayşe"); // Çıktı: Merhaba, Ayşe! ?>

4. Geri Dönüş Değeri Olan Fonksiyonlar

Bir fonksiyon sonuç döndürebilir. return anahtar kelimesi ile dönen değer çağırıldığı yere geri iletilir.

<?php function topla( $a, $b ) { return $a + $b; } $sonuc = topla(5, 10); // $sonuc = 15 echo $sonuc; ?>

5. Tip Belirleme (Type Hinting)

PHP 8’de parametreler ve geri dönüş değerleri için veri tipi belirlenebilir. Bu özellik, daha hatasız ve güvenilir kod yazmaya olanak tanır.

Parametre ve Geri Dönüş Tip Belirleme:

<?php function carp( int $a, int $b ): int { return $a * $b; } echo carp(4, 5); // Çıktı: 20 ?>

6. Union Types (Birden Fazla Tip Desteği)

PHP 8, bir fonksiyon parametresine veya geri dönüşüne birden fazla veri tipi tanımlama desteği ekledi. Bu özellik ile bir parametre hem int hem float olabilir.

<?php function topla( int|float $a, int|float $b ): int|float { return $a + $b; } echo topla(5, 2.5); // Çıktı: 7.5 ?>

7. Anonim Fonksiyonlar (İsimsiz Fonksiyonlar)

Anonim fonksiyonlar, bir fonksiyon ismi tanımlamadan fonksiyon oluşturmaya olanak tanır. Genellikle callback işlemleri için kullanılır.

<?php $topla = function( $a, $b ) { return $a + $b; }; echo $topla(3, 7); // Çıktı: 10 ?>

8. Ok Fonksiyonları (Arrow Functions)

PHP 7.4 ile tanıtılan arrow functions (ok fonksiyonları), anonim fonksiyonların daha kısa bir versiyonudur. PHP 8’de sıkça kullanılır. Kapsam dışındaki değişkenlere use anahtar kelimesi gerekmeden erişebilir.

<?php $carp = fn( $a, $b ) => $a * $b; echo $carp(4, 5); // Çıktı: 20 ?>

9. Değişken Fonksiyonlar

PHP'de fonksiyon isimlerini değişken olarak tutabilir ve bu değişkenle fonksiyon çağırabilirsiniz.

<?php function merhaba( ) { echo "Merhaba!"; } $fonksiyon = "merhaba"; $fonksiyon(); // Çıktı: Merhaba! ?>

10. Adlandırılmış Argümanlar (Named Arguments)

PHP 8 ile gelen adlandırılmış argümanlar sayesinde, fonksiyon argümanlarını isimlerine göre verebilirsiniz. Bu, özellikle çok sayıda parametreye sahip fonksiyonlarda okunabilirliği artırır.

<?php function bilgi( $isim, $yas, $sehir ) { echo "$isim, $yas yaşında ve $sehir'de yaşıyor."; } bilgi(sehir: "İstanbul", isim: "Ali", yas: 30); // Çıktı: Ali, 30 yaşında ve İstanbul'da yaşıyor. ?>

11. Sınırsız Sayıda Argüman (Variadic Functions)

Bir fonksiyonun kaç tane argüman alacağını önceden bilmek zorunda değilsiniz. ... operatörü ile sınırsız sayıda argüman alabilirsiniz.

<?php function topla(...$sayilar ) { return array_sum($sayilar); } echo topla(1, 2, 3, 4); // Çıktı: 10 ?>

12. İç Fonksiyonlar

PHP, geniş bir iç fonksiyon kütüphanesine sahiptir. Örneğin, dizilerle çalışmak için kullanılan fonksiyonlar, string fonksiyonları, matematiksel işlemler vb.

<?php $sayilar = [1, 2, 3, 4, 5]; echo count($sayilar); // Çıktı: 5 (Array'in eleman sayısı) ?>

Sonuç

PHP 8'de fonksiyonlar, yeni eklenen özelliklerle daha güçlü ve esnek bir hale gelmiştir. Özellikle adlandırılmış argümanlar, union types ve arrow functions gibi yenilikler kod yazmayı hem daha esnek hem de daha güvenilir hale getirir.



Yorum Ekle

Üzerine gel