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.