PHP internalları açısından önemli gelişmelerin yaşandığı bir haftayı geride bıraktık. Bu yazıda, PHP 8.6 için önerilen deprecations ve diğer bazı teknik tartışmalara göz atacağız.
Bu haftanın öne çıkan haberi, Gina P. Banyard’ın PHP 8.6 için Deprekte Edilecek Özellikler başlıklı yazısı. Burada, her kaldırmanın kendi oylaması olacağı yıllık güncelleme hakkında tartışmalar devam ediyor. İlk sıcak tartışma, uzun dizi sorusuyla başladı. Seifeddine Gmati’nin list() deprecasyonunun gündeme gelmesi ile birlikte, Tim Düsterhus’un array()‘i gerçek bir tip dönüşüm fonksiyonu haline getiren bir taslağı ortaya atıldı. Michael Morris ise bu yolculuğun nereye varacağını sorguladı: “Delirmiş olmalısın?” diyerek, array()‘in deprektesinin WordPress çekirdek kodunun üçte birine etki edeceğini belirtti. Seif ise yanıt olarak yeniden yazımın bir ast-grep komutuyla yapılabileceğini savundu ve array(...) ile [...]‘nin byte eşit opcode’lara derlendiğini vurguladı. Daha sonra, Juliette Reinders Folmer WordPress Coding Standards’ı koruyarak durumu dengelemeye çalıştı.
Tartışmalar kişselleşti; Morris, Seif’e “bu kulede dışarı çık” dedi, Seif ise mühendislikle karşılık verdi. Daha sonra, kanıtlar üzerinden yeniden bir tartışma başladı. Gina, yeni öğeleri içeren bir liste ile oylama çağrısı yapacağını belirtti. Rowan Tommins, 35 öneri saydı ve bunların sadece 8’inin kimlerin etkileneceğiyle ilgili tartışma içerdiğini belirtti. Gina, “İstediğinizi yapabilirsiniz.” dedi. Juliette ise PHPCompatibility ile gerçek etki verilerini üretme teklifini yeniledi.
Tim Düsterhus ve Derick Rethans’ın Time\Duration sınıfı, bu hafta bitmiş sayıldı. add ve sub fonksiyonlarına yapılan bir anket sonucunda ekip, bu metotların geçmiş zaman eklerinden arındırılması yönünde karar aldı. Ancak fromSeconds() tartışması hala devam ediyor; kullanıcıdan nanosecond argümanını 999,999,999 ile sınırlamasının uygun olup olmadığını sorguluyorlar.
Fonksiyon otomatik yükleme konusunda ise 2 rakip tasarım ortaya çıktı. Paul M. Jones, mark-5 RFC’sini güncelledi ve declare(strict_namespace=1) ifadesini ekledi. Diğer yandan, Michael Morris, ad alanlarıyla ilgili otomatik yükleme geri çağırma işlevi önerisinde bulundu. Rowan Tommins, bu taslağı destekleyerek, “Bu, her zaman karşılaşılan global ve namespace sıralama sorununu güzelce aşar.” dedi.
Typed closures üzerinde de heyecan verici tartışmalar yaşandı. Matthew Weier O’Phinney, bu özelliğin kullanılabilir olmasının önemli olduğuna dikkat çekti. Ancak Seif, “Generics beklemek sonsuz bir bekleme anlamına geliyor.” diyerek durumu özetledi. Lambda ifadeleri ve yazma imzalarının kullanımı tartışılırken, Larry, “Uzun imzalar hakkında endişelenmek yerine, kullanıcıların alias oluşturmasına izin verelim.” dedi.
Özetle, bu hafta boyunca önemli tartışmalar yaşandı. Yapılan oylamalardan biri kapandı ve 26’ya 1 orantısıyla geçerli sayıldı. PHP ekosistemi için önemli gelişen konuları takip etmeye devam edeceğiz.
Kaynak: Orijinal Makale


