PHP 8.4 çıkalı birkaç ay oldu ve ben de son güncellemeyi production ortamına almadan önce bir süredir test ediyorum. Özellikle property hooks özelliği dikkatimi çekti, get ve set metodlarını doğrudan property tanımı içinde yazabiliyorsunuz. Eskiden __get ve __set sihirli metodları ile uğraşıyorduk, şimdi daha temiz ve okunabilir bir yapı gelmiş. Mesela bir User class'ında email property'sine set ederken validasyon yapmak çok kolaylaştı. Deneyen oldu mu bu özelliği, gerçekten kullanışlı mı yoksa bir süre sonra karmaşaya mı yol açıyor?
Bir diğer yenilik ise asymmetric visibility geldi. Artık property'lerin public get, private set gibi farklı erişim seviyeleri olabiliyor. Ben özellikle DTO'lar için bunu çok faydalı buldum. Veriyi dışarıya okutup sadece class içinden değiştirmek istediğimde artık ayrı bir method yazmama gerek kalmıyor. Ama bu özellik henüz tam oturmamış gibi, bazı framework'lerin bu yapıyı destekleyip desteklemediğini merak ediyorum. Laravel ya da Symfony kullanan var mı aranızda, bu yeni syntax ile uyum sorunu yaşadınız mı?
Son olarak, lazy objects ve property hooks ile birlikte PHP'nin yavaş yavaş daha modern bir dil haline geldiğini düşünüyorum. Fakat performans konusunda bazı endişelerim var. Özellikle property hooks kullanımı arka planda ekstra fonksiyon çağrıları yapıyor mu, yoksa compile time'da mı optimize ediliyor? Benim testlerimde ufak bir overhead gördüm sanki, belki de yanlış kullanımdan kaynaklıdır. Siz hangi özellikleri kullanıyorsunuz, hangi projelerde geçiş yapmaya değer buldunuz? Deneyimlerinizi ve karşılaştığınız sorunları paylaşırsanız sevinirim.
Bir diğer yenilik ise asymmetric visibility geldi. Artık property'lerin public get, private set gibi farklı erişim seviyeleri olabiliyor. Ben özellikle DTO'lar için bunu çok faydalı buldum. Veriyi dışarıya okutup sadece class içinden değiştirmek istediğimde artık ayrı bir method yazmama gerek kalmıyor. Ama bu özellik henüz tam oturmamış gibi, bazı framework'lerin bu yapıyı destekleyip desteklemediğini merak ediyorum. Laravel ya da Symfony kullanan var mı aranızda, bu yeni syntax ile uyum sorunu yaşadınız mı?
Son olarak, lazy objects ve property hooks ile birlikte PHP'nin yavaş yavaş daha modern bir dil haline geldiğini düşünüyorum. Fakat performans konusunda bazı endişelerim var. Özellikle property hooks kullanımı arka planda ekstra fonksiyon çağrıları yapıyor mu, yoksa compile time'da mı optimize ediliyor? Benim testlerimde ufak bir overhead gördüm sanki, belki de yanlış kullanımdan kaynaklıdır. Siz hangi özellikleri kullanıyorsunuz, hangi projelerde geçiş yapmaya değer buldunuz? Deneyimlerinizi ve karşılaştığınız sorunları paylaşırsanız sevinirim.