Bilgisayar ortamında kullandığımız hemen hemen her uygulama sürekli olarak güncelleniyor. Yapılan güncellemeler sayesinde her geçen gün bu uygulamaları daha basit şekilde kullanabiliyor ve zamandan da büyük ölçüde tasarruf sağlayabiliyoruz. Bugün size sanal ortamda büyük bir yenilikle, 26 Kasım 2020 tarihinde karşımıza çıkan PHP 8 versiyonu nedir, ne değildir, bundan bahsedeceğiz.
En genel açıklaması ile PHP 8 dediğimz olgu; PHP dilinde meydana gelen büyük çaplı bir güncellemedir. Yeni isimlendirilen argümanlar, yapıcı özelliklerin tanıtılması, birleştirme biçimleri, nullsafe işleci, JIT ve tür sisteminde yapılan bazı iyileştirmeler ve hata işleme yahut tutarlılık gibi konuları da kapsayan büyük ölçülü bir yenilenmedir.
Bahsi geçmişken JIT nedir diye düşünmüş olabilirsiniz. Basit bir tabirle JIT; OPcache’in bağımsız olarak nitelendirilebilecek bir bölümü olarak uygulanan işlev mekanizmasıdır diyebiliriz.
PHP’nin JIT’ten farkını ise şöyle ifade edebiliriz: PHP, 4 aşamalı olarak işleyen bir süreçtir ve yorumlanmış bir dildir. OPcache ise önceden düzenlenmiş olan komut dosyasının bayt kodunu bellekte depo eder. Dolayısıyla PHP’nin çalışma performansının artmasını sağlar. OPcache etkin konumda bulunurken, PHP bahsettiğimiz 4 aşamalı işlemi gerçekleştirir. Fakat komut dosyaları ilk defa çalıştırılıyordur, Zen VM’de ise hemen çalıştırılabilir.
PHP ile hayatımıza katılan yeni özellikler neler diye merak ediyorsanız, onları da kısaca anlatacağız. PHP’nin dinamik ve aktif bir yapı olduğunu göz önünde bulundurarak birleşik tür tanımlamalarında işimizi oldukça kolaylaştırdığını ifade etmemiz gerekir. Bazı canlı web projelerinde gerçekleştirilen testlerde büyük farklar yaratmadığı öne sürülse de, PHP kullanıcılara tam zamanında derleme gibi fırsatlar da sunuyor.
Ayrıca bahsetmemiz gereken bir diğer özellik şu: daha önce PHP 7 kullandıysanız muhtemelen bu sistemin eksik yönlerinden muzdarip olmuşsunuzdur. Yeni sürümde ise eksikliklerin büyük çoğunluğunun giderildiğini ve metod çağırımlarında çalıştığını görebilirsiniz.
Bazı dillerde ek açıklamalar olarak adlandırılan öznitelikler, PHP 8.0 sürümü sayesinde, docblock işlemek zorunda olmadan sınıflara meta data eklemeyi de mümkün kılıyor. Ayrıca bu sürümde yeni eklenen mixed özelliği ile, tür tanımı yaparken sınırları daha iyi belirleyebilirsiniz.
Genel özelliklerinden bahsettikten sonra PHP 8 kullanmayı düşünenler için güvenlik konusunda şunları söylemeliyiz: daha önce güvenlik açısından problem oluşturan çok sayıda fonksiyon kaldırılmış bile olsa çeşitli hatalar içerebileceğini göz önünde bulundurmak faydalı olacaktır.
Genel bir ifade ile; PHP 8 yeniliklerine tam anlamıyla geçiş sağlamak, PHP’nin bu güne dek geçirmiş olduğu en kapsamlı değişim olacak diyebiliriz. Kısa zamanda bazı kullanıcıların yeni sürüm konusunda zorlanabileceğini belirterek, uzun vadede bu değişime değecek özellikler kazandırıldığını düşünüyoruz. Bir web sayfası yönetiyorsanız, uygulamalarınızın uygun biçimde güncellenip güncellenmediğini kontrol etmeli ve uyum sağlamayan yerler varsa alternatif çözümler aramalısınız.