PHP 8 Dil Özellikleri

XxZeMaHSeRxX

“.”
Katılım
2 Ara 2024
Konular
186
Mesajlar
1,979
Çözüm
8
Online süresi
5mo 13d
Reaksiyon Skoru
1,493
Altın Konu
1
Başarım Puanı
206
MmoLira
12,354
DevLira
36
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

PHP 8, Kasım 2020’de yayımlandı ve performans, sözdizimi (syntax) ile dil tutarlılığında büyük iyileştirmeler getirdi.

Bu bölümde PHP 8’in en önemli yenilikleri ve geliştirmeleri yer almaktadır.

1. JIT (Just-In-Time) Derleme

Nedir:

JIT derleyicisi, PHP kodunun bazı kısımlarını çalışma anında makine koduna çevirerek performansı artırır.

Önemli noktalar:

CPU yoğun işlemleri (örneğin görüntü işleme, matematiksel hesaplamalar) hızlandırır.
Normal web isteklerinde fark genellikle azdır.
opcache.jit ve opcache.jit_buffer_size ayarlarıyla kontrol edilir.

Örnek:

Kod:
; php.ini
opcache.enable=1
opcache.jit=1235
opcache.jit_buffer_size=100M

2. Birleşik Tipler (Union Types)

Nedir:
Bir parametrenin veya dönüş değerinin birden fazla türü kabul etmesini sağlar.

Örnek:

Kod:
function hesapla(int|float $deger): int|float {
    return $deger * 1.5;
}

PHP 8 öncesi:

Bu kontrolleri manuel olarak yapmak gerekiyordu.

3. İsimlendirilmiş Argümanlar (Named Arguments)

Nedir:
Fonksiyonlara parametreleri konumla değil, isimle göndermeyi sağlar.

Örnek:

Kod:
function kullaniciOlustur(string $isim, int $yas, string $rol = 'user') {
    // ...
}

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


Avantajları:

Kod daha okunaklı olur.
Argüman sırası önemli değildir.
Opsiyonel parametrelerle çok uyumludur.

4. Öznitelikler (Attributes / Annotations)

Nedir:

Sınıflara, metodlara veya özelliklere meta veri (ek bilgi) eklemek için PHP’nin yerleşik sözdizimi.

Örnek:

Kod:
#[Route('/users', methods: ['GET'])]
class UserController {
    // ...
}


PHP 8 öncesi:
Bu bilgiler PHPDoc yorumları veya harici kütüphanelerle eklenirdi.

5. Yapıcıda Özellik Tanımlama (Constructor Property Promotion)

Nedir:

Sınıf özelliklerini doğrudan yapıcı (constructor) parametrelerinde tanımlayıp atamayı sağlar.

Örnek:

Kod:
class Kullanici {
    public function __construct(
        private string $isim,
        private int $yas
    ) {}
}

$k = new Kullanici('Ali', 30);
 

En Çok Reaksiyon Alan Mesajlar

Paylaşım için teşekkürler.
 
Eline sağlık! Paylaşım için teşekkürler.
 

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