Popüler programlama dili PHP’nin 7.4 sürümü geçtiğimiz hafta yayınlandı. Yeni sürüm daha önceki sürümlerde kullanılan bazı önemli özelliklerde değişikliğe gitti. 28 Kasım 2019’da yayınlanan PHP 7.4 sürümünde aşağıdaki değişiklikler yapıldı. Bu sürümle birlikte bazı önemli fonksiyonlar kullanımdan kaldırılma uyarıları vermeye başlayacak ve PHP 8.0 da tamamen kaldırılacak.
Küme Parantezi Kullanımında Değişiklikler
Geçmişte dizilerde köşeli parantezlerin kullanımına ek olarak küme parantezi işareti de kullanılabiliyordu. Yeni sürümden itibaren küme parantezi ile dizi ifadelerinin çağrımı kullanımdan kaldırılmış bildirimi (deprecated notice) mesajı oluşturmaya başlayacak. PHP yöneticileri bu işaretin kullanımını gelecekte yayınlanacak PHP 8.0’da tamamen kaldırmış olacaklar.
Bu değişiklikle ilgili detaylı bilgi PHP’nin wikisindeki şu değişiklik talebinden (RFC) ulaşılabilir: https://wiki.php.net/rfc/deprecate_curly_braces_array_access
implode() Kullanımındaki Değişiklikler
Mevcutta belli bir karakter işareti ile ayrılmış metinleri (örneğin virgülle ayrılmış bir cümleyi) dizi haline getirmeye yarayan implode fonksiyonu da önemli değişikliklerle karşılaştı. Implode fonksiyonu daha önce sırasıyla $ayraç ve $cümle şeklinde kullanılabildiği gibi bazı durumlarda tam tersi de kullanılabiliyordu. Yeni kullanımda ise ters kullanıma izin verilmeyecek.
Dizi Dışı veya Nesnelerde Dizi Kaymasına Erişim
Bu sorun en çok karışık dönüş değerlerine sahip fonksiyonların geri dönüşte geri dönüş sonucunda dizi erişimi kullanıldığında, array ya da false dönmesi şeklindeki çözümlerde problem yaratacak. Bu fonksiyonun dönüş değerleri kullanıldığında, bu uyarıyı önlemek için bir dizimiş gibi dönüş değerine erişmeye çalışmadan önce daha fazla tip kontrolü yapılması gerekecek.
PHP’nin belgelenmemiş davranışına dayanan kod, bir null / bool / int / float / kaynak dizisine erişmeye çalışırken boş döndürürken, beklendiği gibi çalışmaya devam etmekteydi. Ancak bu sürümle birlikte bu örnekteki her kod artık PHP E_WARNING uyarısı göndermeye başlayacak. .
PHP daha önce yalnızca geçersiz tipte bir ofset kullanmaya çalışırken bir uyarı veriyordu. PHP 7.4 sürümü ile başlayarak, bir veri geçersiz bir tip olduğunda bir uyarı da atılmaya başlayacak..
Bu ana değişiklikler dışında nokta işareti ile matematiksel değerlerin bir arada kullanıldığı örneklerde satır içi if sorguları yapılmaya yarayan üçlü operatörlerde de bazı değişiklikler yapıldı.
Bu değişiklikler önemli fonksiyonlarda olduğu için pek çok yazılımın PHP 7.4’e uyumlu olması zaman alacak bir süreç olacak.