PHP 8.4 Yeni Özellikleri: Property Hook ve Asimetrik Görünürlük

PHP 8.4 Yeni Özellikleri: Property Hook ve Asimetrik Görünürlük
Blog 2 dk okuma
PHP 8.4, Kasım 2024'te yayınlandı. Property hooks, asimetrik görünürlük ve yeni array fonksiyonları ile modern PHP yazımı bir adım daha ileri taşınıyor.

PHP 8.4 Ne Zaman Çıktı?

PHP 8.4, Kasım 2024'te resmi olarak yayınlandı. Büyük sözdizimi değişikliği yerine güçlü geliştirici deneyimi (DX) iyileştirmeleri getirdi. Üç özellik özellikle dikkat çekiyor.

1. Property Hooks (Özellik Kancaları)

PHP 8.4 öncesinde bir özellik için özel get/set mantığı şöyle yazılırdı:

class User {
    private string $_name;
    public function getName(): string { return $this->_name; }
    public function setName(string $v): void { $this->_name = trim($v); }
}

PHP 8.4 ile aynı şeyi doğrudan özellik tanımında yapabilirsin:

class User {
    public string $name {
        set(string $value) => $this->name = trim($value);
    }
}

Boilerplate kod ciddi ölçüde azalıyor. Özellikle Laravel model'lerde ve DTO'larda çok işe yarıyor.

2. Asimetrik Görünürlük (Asymmetric Visibility)

PHP 8.1'deki readonly bir özelliği tamamen değiştirilemez yapıyordu. PHP 8.4 bunu genişleterek dışarıdan okumaya izin verip içeriden yazmaya kısıtlama yapmayı mümkün kılar:

class Order {
    public private(set) int $status = 0;
    // Dışarıdan okunabilir, yalnızca Order içinden değiştirilebilir
}

3. Yeni Array Fonksiyonları

PHP 8.4, sıkça ihtiyaç duyulan dört array fonksiyonu ekledi:

  • array_find() — koşula uyan ilk elemanı döndürür
  • array_find_key() — koşula uyan ilk anahtarı döndürür
  • array_any() — en az bir eleman koşulu sağlıyor mu?
  • array_all() — tüm elemanlar koşulu sağlıyor mu?

Bu dört fonksiyon öncesinde genellikle array_filter + reset veya manuel foreach yazılırdı.

Güncelleme Gerekli mi?

PHP 8.1 güvenlik desteği Aralık 2025'te bitti. PHP 8.0 ve altı çoktan güvenlik güncellemesi almıyor. Hâlâ eski sürümde kalıyorsan güvenlik açığı riskiyle çalışıyorsun demektir. PHP 8.4 destekleyen hosting arıyorsan web hosting paketlerimize göz atabilirsin.

PHP 8.4'e geçmek mevcut kodu bozar mı?

PHP 8.4, geriye dönük kırıcı değişiklik sayısı bakımından oldukça konservatif. En önemli kırıcı değişiklik: bazı örtük null dönüşümlerinin artık uyarı yerine hata vermesi. Büyük çoğunluk için geçiş sorunsuz, ama geçmeden önce mutlaka test ortamında deneyin.

PHP 8.4 property hooks Laravel/Eloquent ile uyumlu mu?

Evet, property hooks standart PHP sözdiziminin bir parçası ve Laravel ile tam uyumlu. Eloquent accessor/mutator'larla iç içe kullanılabilir, çatışma yaratmaz.

PHP 8.4 performansı 8.3'ten ne kadar iyi?

PHP 8.4, JIT iyileştirmeleri ve dahili optimizasyonlarla 8.3'e kıyasla yaklaşık yüzde 3-8 arasında performans artışı sunar. Yoğun hesaplama yapan uygulamalarda bu fark gerçek olarak hissedilir.

PHP 8.4 property hooks asimetrik görünürlük array_find PHP yeni özellikler

EuroVDC

Web Sitenizi Güvenle Barındırın

NVMe SSD depolama · Ücretsiz SSL · cPanel dahil

Web Hosting Planlarına Bak

Bu içeriği faydalı buldunuz mu?

kişi faydalı buldu

Sosyal Medyada Paylaş

PHP 8.4 Yeni Özellikleri: Property Hook ve Asimetrik Görünürlük