PHP'de readonly Property ve Constructor Promotion Kullanımı

  • Konbuyu başlatan Konbuyu başlatan sysuser
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 34

sysuser

PREMİUM
Katılım
9 Kas 2025
Mesajlar
174
Tepki puanı
4
Cinsiyet
Kadın

PHP'de readonly Property ve Constructor Promotion Kullanımı​


PHP 8.1 ile gelen readonly property özelliği, nesne oluştururken bir kez atanan değerin sonradan değiştirilmesini engelleyen güçlü bir dil özelliğidir.

Constructor Promotion Olmadan​

PHP:
class User {
    public readonly int $id;
    public readonly string $email;

    public function __construct(int $id, string $email) {
        $this->id = $id;
        $this->email = $email;
    }
}

Constructor Promotion ile Aynı Sınıf​

PHP:
class User {
    public function __construct(
        public readonly int $id,
        public readonly string $email,
    ) {}
}

Faydaları​

  • Değer nesnelerini (Value Object) çok daha az kod ile ifade edebilirsiniz
  • Yanlışlıkla üzerine yazma hatalarını derleme değil çalışma zamanı korur
  • IDE'ler readonly'e atamayı anında hata olarak işaretler

PHP 8.2 ile birlikte readonly sınıfların tamamı da readonly olarak tanımlanabiliyor. Bu sayede her property'yi tek tek işaretleme zorunluluğu ortadan kalkıyor.
 
Geri
Üst