Arkadaşlar selam, PHP 8.4'ün çıkalı birkaç ay oldu ve özellikle property hooks, asymmetric visibility gibi yenilikler epey konuşuluyor. Ben de merak edip son projelerimden birinde 8.4'e geçtim, ama açıkçası bazı şeyler kafamı karıştırdı.
Mesela property hooks gerçekten güzel bir fikir, get ve set mantığını daha temiz yazıyorsunuz, ama "acaba bu kadar abstraction gerçekten gerekli mi?" diye düşünmeden edemiyorum. Eskiden __get ve __set ile yaptığımız işleri daha spesifik hale getiriyor, ama performans olarak bir fark var mı? Ben test etmedim, belki benchmark yapan vardır. Ayrıca asymmetric visibility de ilginç; bir property'i sadece sınıf içinde değiştirip dışarıya read-only göstermek güzel ama bunu constructor promotion ile birleştirince syntax biraz kafa karıştırıcı olabiliyor. Siz nasıl buldunuz bu yeni özellikleri?
Bir de şu var: PHP 8.3'ten beri gelen yenilikler genelde "arka planda iyileştirme" kısmında kalıyordu, 8.4'teki bu özellikler daha çok developer experience'a odaklanmış. Sizce gerçekten projelerinizde kullanışlı mı, yoksa "hadi bir şeyler ekleyelim" modunda mı? Özellikle büyük ölçekli projelerde bu tür yeniliklerin bakım maliyetini artırdığını düşünen var mı? Ben şahsen property hooks ile yazdığım kodu birkaç hafta sonra tekrar okuyunca "bu neyin kısaltmasıydı" diye düşünebilirim diye endişeleniyorum. Deneyimlerinizi paylaşırsanız sevinirim, belki benim gözden kaçırdığım avantajlar vardır.
Mesela property hooks gerçekten güzel bir fikir, get ve set mantığını daha temiz yazıyorsunuz, ama "acaba bu kadar abstraction gerçekten gerekli mi?" diye düşünmeden edemiyorum. Eskiden __get ve __set ile yaptığımız işleri daha spesifik hale getiriyor, ama performans olarak bir fark var mı? Ben test etmedim, belki benchmark yapan vardır. Ayrıca asymmetric visibility de ilginç; bir property'i sadece sınıf içinde değiştirip dışarıya read-only göstermek güzel ama bunu constructor promotion ile birleştirince syntax biraz kafa karıştırıcı olabiliyor. Siz nasıl buldunuz bu yeni özellikleri?
Bir de şu var: PHP 8.3'ten beri gelen yenilikler genelde "arka planda iyileştirme" kısmında kalıyordu, 8.4'teki bu özellikler daha çok developer experience'a odaklanmış. Sizce gerçekten projelerinizde kullanışlı mı, yoksa "hadi bir şeyler ekleyelim" modunda mı? Özellikle büyük ölçekli projelerde bu tür yeniliklerin bakım maliyetini artırdığını düşünen var mı? Ben şahsen property hooks ile yazdığım kodu birkaç hafta sonra tekrar okuyunca "bu neyin kısaltmasıydı" diye düşünebilirim diye endişeleniyorum. Deneyimlerinizi paylaşırsanız sevinirim, belki benim gözden kaçırdığım avantajlar vardır.