İlan
04 Haz 2026 19 çevrimiçi üye Duyurular
Ana Sayfa Web Geliştirme
Ana Sayfa Forum Web Geliştirme PHP 8 Birleşik Tipler (Union Types) ve Kullanım Al...
İlan Yan banner placeholder

PHP 8 Birleşik Tipler (Union Types) ve Kullanım Alanları

Rakuzan 03.05.2026 08:03 812 görüntüleme 11 cevap
Son Mesaj
Rakuzan
Üye
Üye
Katılım20 Oca 2026
Konular9
Mesajlar68
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
03.05.2026 08:03 #1

1. Birleşik Tip (Union Type) Nedir?

PHP 8 ile birlikte gelen Union Types, bir değişkenin, parametrenin veya fonksiyonun dönüş değerinin birden fazla veri türünü (type) kabul edebilmesini sağlar.

Yani bir fonksiyonun sadece tek türde değil, birden fazla türde veriyle çalışabilmesini mümkün kılar.

Örnek:

Kod:
function topla(int|float $a, int|float $b): int|float {
    return $a + $b;
}

Yukarıdaki örnekte fonksiyon hem int hem de float türlerini kabul eder ve aynı türlerde bir sonuç döndürür.

2. PHP 8 Öncesi Durum

PHP 8’den önce aynı işlevi elde etmek için tür kontrolleri manuel yapılırdı:

Kod:
function topla($a, $b) {
    if (!is_int($a) && !is_float($a)) {
        throw new InvalidArgumentException('Sayı giriniz.');
    }
    if (!is_int($b) && !is_float($b)) {
        throw new InvalidArgumentException('Sayı giriniz.');
    }
    return $a + $b;
}


Bu yöntem hem daha uzun hem de hata yapmaya daha açıktı.

3. Temel Kullanım Biçimi

Birleşik tipler, dikey çizgi (|) sembolüyle tanımlanır.

Sözdizimi:

function fonksiyonAdi(Tip1|Tip2|Tip3 $parametre): Tip1|Tip2 {}

Örnek:

Kod:
function degerGetir(int|string $id): string {
    return "ID: $id";
}

echo degerGetir(42);       // "ID: 42"
echo degerGetir("abc123"); // "ID: abc123"

4. Geçerli ve Geçersiz Kullanımlar

Geçerli:

function islem(int|float $deger) { /* ... */ }
function getData(array|object $veri) { /* ... */ }

Geçersiz:

function hata(?int|null $id) {} // Hatalı - null zaten ?int içinde var
function ornek(void|int $x) {} // Hatalı - void birleşimlerde kullanılamaz

Not:
?int ifadesi aslında int|null’ün kısa yazımıdır.
Dolayısıyla int|null yerine ?int yazmak mümkündür, ama tersi geçerli değildir.​

5. Dönüş Tiplerinde Kullanım

Birleşik tipler sadece parametrelerde değil, dönüş türlerinde de kullanılabilir:

Kod:
function hesapla(float $a, float $b): int|float {
    $sonuc = $a * $b;
    return $sonuc < 1 ? (int)$sonuc : $sonuc;
}

Bu fonksiyon bazen int, bazen float döndürebilir.

6. Kullanım Alanları

Birleşik tipler özellikle şu durumlarda çok faydalıdır:
Kullanım Alanı​Açıklama​Örnek​
API GeliştirmeAPI fonksiyonları bazen sayı bazen string döndürebilir.​`int​
Eski Kodlarla UyumEski sistemlerde farklı türde veri gelebilir.​`array​
Genel Yardımcı FonksiyonlarTür esnekliği gereken durumlar.​`int​
Nullable DeğerlerDeğer olmayabilir (null).​`int​
Sed7
Üye
Üye
Katılım30 Oca 2026
Konular9
Mesajlar64
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
03.05.2026 17:09 #2
Paylaşım için teşekkürler
emirhanx
Üye
Üye
Katılım08 Mar 2026
Konular6
Mesajlar59
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
09.05.2026 21:09 #3
Paylaşım için teşekkürler.
Rakuzan
Üye
Üye
Katılım20 Oca 2026
Konular9
Mesajlar68
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
09.05.2026 23:25 #4

1. Birleşik Tip (Union Type) Nedir?

PHP 8 ile birlikte gelen Union Types, bir değişkenin, parametrenin veya fonksiyonun dönüş değerinin birden fazla veri türünü (type) kabul edebilmesini sağlar.

Yani bir fonksiyonun sadece tek türde değil, birden fazla türde veriyle çalışabilmesini mümkün kılar.

Örnek:

Kod:
function topla(int|float $a, int|float $b): int|float {
    return $a + $b;
}

Yukarıdaki örnekte fonksiyon hem int hem de float türlerini kabul eder ve aynı türlerde bir sonuç döndürür.

2. PHP 8 Öncesi Durum

PHP 8’den önce aynı işlevi elde etmek için tür kontrolleri manuel yapılırdı:

Kod:
function topla($a, $b) {
    if (!is_int($a) && !is_float($a)) {
        throw new InvalidArgumentException('Sayı giriniz.');
    }
    if (!is_int($b) && !is_float($b)) {
        throw new InvalidArgumentException('Sayı giriniz.');
    }
    return $a + $b;
}


Bu yöntem hem daha uzun hem de hata yapmaya daha açıktı.

3. Temel Kullanım Biçimi

Birleşik tipler, dikey çizgi (|) sembolüyle tanımlanır.

Sözdizimi:

function fonksiyonAdi(Tip1|Tip2|Tip3 $parametre): Tip1|Tip2 {}

Örnek:

Kod:
function degerGetir(int|string $id): string {
    return "ID: $id";
}

echo degerGetir(42);       // "ID: 42"
echo degerGetir("abc123"); // "ID: abc123"

4. Geçerli ve Geçersiz Kullanımlar

Geçerli:

function islem(int|float $deger) { /* ... */ }
function getData(array|object $veri) { /* ... */ }

Geçersiz:

function hata(?int|null $id) {} // Hatalı - null zaten ?int içinde var
function ornek(void|int $x) {} // Hatalı - void birleşimlerde kullanılamaz

Not:
?int ifadesi aslında int|null’ün kısa yazımıdır.
Dolayısıyla int|null yerine ?int yazmak mümkündür, ama tersi geçerli değildir.​

5. Dönüş Tiplerinde Kullanım

Birleşik tipler sadece parametrelerde değil, dönüş türlerinde de kullanılabilir:

Kod:
function hesapla(float $a, float $b): int|float {
    $sonuc = $a * $b;
    return $sonuc < 1 ? (int)$sonuc : $sonuc;
}

Bu fonksiyon bazen int, bazen float döndürebilir.

6. Kullanım Alanları

Birleşik tipler özellikle şu durumlarda çok faydalıdır:
Kullanım Alanı​Açıklama​Örnek​
API GeliştirmeAPI fonksiyonları bazen sayı bazen string döndürebilir.​`int​
Eski Kodlarla UyumEski sistemlerde farklı türde veri gelebilir.​`array​
Genel Yardımcı FonksiyonlarTür esnekliği gereken durumlar.​`int​
Nullable DeğerlerDeğer olmayabilir (null).​`int​
Sed7
Üye
Üye
Katılım30 Oca 2026
Konular9
Mesajlar64
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
09.05.2026 23:36 #5
Paylaşım için teşekkürler
emirhanx
Üye
Üye
Katılım08 Mar 2026
Konular6
Mesajlar59
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
10.05.2026 00:19 #6
Paylaşım için teşekkürler.
Rakuzan
Üye
Üye
Katılım20 Oca 2026
Konular9
Mesajlar68
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
10.05.2026 00:19 #7

1. Birleşik Tip (Union Type) Nedir?

PHP 8 ile birlikte gelen Union Types, bir değişkenin, parametrenin veya fonksiyonun dönüş değerinin birden fazla veri türünü (type) kabul edebilmesini sağlar.

Yani bir fonksiyonun sadece tek türde değil, birden fazla türde veriyle çalışabilmesini mümkün kılar.

Örnek:

Kod:
function topla(int|float $a, int|float $b): int|float {
    return $a + $b;
}

Yukarıdaki örnekte fonksiyon hem int hem de float türlerini kabul eder ve aynı türlerde bir sonuç döndürür.

2. PHP 8 Öncesi Durum

PHP 8’den önce aynı işlevi elde etmek için tür kontrolleri manuel yapılırdı:

Kod:
function topla($a, $b) {
    if (!is_int($a) && !is_float($a)) {
        throw new InvalidArgumentException('Sayı giriniz.');
    }
    if (!is_int($b) && !is_float($b)) {
        throw new InvalidArgumentException('Sayı giriniz.');
    }
    return $a + $b;
}


Bu yöntem hem daha uzun hem de hata yapmaya daha açıktı.

3. Temel Kullanım Biçimi

Birleşik tipler, dikey çizgi (|) sembolüyle tanımlanır.

Sözdizimi:

function fonksiyonAdi(Tip1|Tip2|Tip3 $parametre): Tip1|Tip2 {}

Örnek:

Kod:
function degerGetir(int|string $id): string {
    return "ID: $id";
}

echo degerGetir(42);       // "ID: 42"
echo degerGetir("abc123"); // "ID: abc123"

4. Geçerli ve Geçersiz Kullanımlar

Geçerli:

function islem(int|float $deger) { /* ... */ }
function getData(array|object $veri) { /* ... */ }

Geçersiz:

function hata(?int|null $id) {} // Hatalı - null zaten ?int içinde var
function ornek(void|int $x) {} // Hatalı - void birleşimlerde kullanılamaz

Not:
?int ifadesi aslında int|null’ün kısa yazımıdır.
Dolayısıyla int|null yerine ?int yazmak mümkündür, ama tersi geçerli değildir.​

5. Dönüş Tiplerinde Kullanım

Birleşik tipler sadece parametrelerde değil, dönüş türlerinde de kullanılabilir:

Kod:
function hesapla(float $a, float $b): int|float {
    $sonuc = $a * $b;
    return $sonuc < 1 ? (int)$sonuc : $sonuc;
}

Bu fonksiyon bazen int, bazen float döndürebilir.

6. Kullanım Alanları

Birleşik tipler özellikle şu durumlarda çok faydalıdır:
Kullanım Alanı​Açıklama​Örnek​
API GeliştirmeAPI fonksiyonları bazen sayı bazen string döndürebilir.​`int​
Eski Kodlarla UyumEski sistemlerde farklı türde veri gelebilir.​`array​
Genel Yardımcı FonksiyonlarTür esnekliği gereken durumlar.​`int​
Nullable DeğerlerDeğer olmayabilir (null).​`int​
Sed7
Üye
Üye
Katılım30 Oca 2026
Konular9
Mesajlar64
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
10.05.2026 00:20 #8
Paylaşım için teşekkürler
Bu konuyu görüntüleyenler
1 misafir
Cevap yazmak için giriş yapın.
İlan Yan banner placeholder