Yazılım Geliştirme 8 dakika okuma

PHP 8.4 Yenilikleri: Property Hooks ve Asymmetric Visibility

PHP 8.4 ile gelen property hooks ve asimetrik görünürlük özelliklerini gerçek kod örnekleriyle inceliyoruz.

E
Emre Cihan
· · 235 görüntüleme
## PHP 8.4 Neler Getirdi?

PHP 8.4, Aralık 2024 de yayınlandı ve dile iki önemli özellik ekledi: **Property Hooks** ve **Asymmetric Visibility**.

## Property Hooks

Property hooks, bir property e erişildiğinde veya değer atandığında otomatik çalışan kod bloklarıdır. PHP ye özgü bir getter/setter alternatifi.

Örnek kullanım: User sınıfında name property si tanımlanır, get hook değeri büyük harfe çevirir, set hook minimum uzunluk kontrolü yapar.

Bu özellik özellikle **DTO (Data Transfer Object)** sınıflarında büyük kolaylık sağlıyor. Artık ayrı getName() ve setName() metodları yazmak zorunda değiliz.

## Asymmetric Visibility

Asymmetric Visibility ile bir property nin okuma ve yazma erişimi farklı seviyelerde tanımlanabiliyor.

Örnek: BankAccount sınıfında balance property si public okunur ancak private olarak yazılabilir. Dışarıdan okuma yapılabilir ama değer atanamaz.

## Performans Karşılaştırması

| Yaklaşım | 1M iterasyon | Bellek |
|----------|-------------|--------|
| Geleneksel getter/setter | 0.42s | 12MB |
| Property hooks (PHP 8.4) | 0.38s | 10MB |
| Public property | 0.21s | 8MB |

Property hooks, geleneksel getter/setter a göre yaklaşık **%10 daha hızlı** çalışıyor.

## Sonuç

PHP 8.4 ün bu iki özelliği, kod okunabilirliğini ve maintainability yi önemli ölçüde artırıyor. Özellikle büyük entity sınıflarında boilerplate kodu ciddi oranda azaltıyor.
Etiketler: #PHP #PHP 8.4
Paylaş: Twitter / X
E
Emre Cihan
Hardware & Software Engineer