PHP 8 Yenilikleri, Özellikler, İyileştirmeler ve Güncellemeler

PHP 8 güncellemesi ile yeni adlandırmalar yapılmış argümanların, birleştirme türlerinin, yapıcı özellik tanıtımlarının, özniteliklerin, eşleşme ifadelerinin JIT sistemindeki iyileştirmelerin, hata işleme ve tutarlılık özelliklerine ve optimizasyonuna sahip olabilirsiniz.

PHP 8 versiyonu, 26 Kasım 2020 tarihinde resmi olarak kullanıcının hizmetine sunuldu. Büyük bir yenilikle kullanıma sunulan söz konusu versiyon, birçok güçlü özelliği de beraberinde getiriyor. Bu yeni özellikler sayesinde çok daha kolay bir şekilde kod yazabilirsiniz. Ayrıca daha kullanışlı ve güçlü uygulamalar oluşturabilirsiniz. PHP 8’in kullanıcılar tarafından en beğenilen özelliği Just in Time kavramının kısaltması olan JIT derleyicisidir. Peki, JIT kavramı ne demektir?

JIT Nedir?

JIT, OPcache’in neredeyse bağımsız bir parçası olarak uygulanan bir işlev mekanizmasıdır. Bu özellik ile PHP derlemeleri etkinleştirilip devre dışı bırakılabilir. Derlemeler etkinleştirildiğinde dosyaların yerel kodu OPcache belleğinde saklanır.

Peki, JIT ile OPcache arasındaki farklar nelerdir?

PHP için JIT’in ifade ettiği anlamı doğru analiz etmek için öncelikle PHP’nin kaynak kodunda sistemin nasıl çalıştığına bir göz atmak gerekir. PHP, 4 aşamalı yürüyen bir süreçtir. Aşağıda bu aşamaların neler olduğunu görebilirsiniz.

Lexing/Tokenizing: PHP’nin ilk aşaması olan lexing sürecinde PHP kodu okunur. Bu kapsamda bir dizi belirteçler oluşturulur.

Ayrıştırma: PHP’nin bu aşamasında komut dosyalarının sözdizimleri ile eşleşip eşleşmediği kontrol edilir. Bu aşamada soyut bir sözdizimi ağacı olan AST için çeşitli belirteçler kullanılır.

Derleme: Bu aşamada yorumlayıcıdan geçen AST düğümleri, Zend VM tarafından geçirilerek komut türü belirlenir. Sayısal tanımlayıcılar düşük seviyedeki Zend Opcodes’e dönüştürülür.

Yorumlama: Opcodes yorumlanarak, Zend VM üzerinden çalıştırılır.

OPcache’in PHP Hızına Etkisi

PHP, yorumlanmış bir dil demektir. Bir PHP çalıştırıldığında yorumlayıcı, kodu tekrar tekrar çalıştırır. Bu durum, CPU kaynaklarının etkin kullanılmamasına neden olduğu gibi zamanın da etkin kullanılmaması demektir.

OPcache, önceden derlenmiş komut dosyasının bayt kodunu bellekte depolar. Bu sayede PHP’nin performansını artırır. Böylece PHP’nin her istekten sonra komut dosyalarını yükleme ve ayrıştırma ihtiyacının ortadan kalkması sağlanır.

OPcache etkin haldeyken PHP yorumlayıcısı yukarıda da belirtilmiş olan 4 aşamalı işlemden geçer. Fakat komut dosyaları ilk defa çalıştırılır. Zend VM’de ise derhal çalıştırılabilir.

Named Arguments

“Named Arguments” teriminin Türkçe karşılığı, “Adlandırılmış Değişkenler” olarak ifade edilir. Phyton programlama dilinde kullanılan adlandırılmış değişkenler, PHP 8 versiyonu ile çok rahat bir şekilde kullanılabilir. Yeni versiyonun sağladığı çok önemli avantajlardan biri named arguments kullanımının etkin olarak gerçekleştirilmesidir. Named Arguents özelliği ile parametrelerin fonksiyonlara belirli bir sıra ile gönderilme zorunluluğu ortadan kalkar. Bu sayede kodun okunurluğu artarak geliştiricinin işi de kolaylaşır.

Attributes

Türkçe karşılığı “özellikler” olan attributes ile eski tip doc bloklarını birbirinden ayrılma zorunluluğu ortadan kalkar. Bu sayede sistem meta verilerinin eklenmesine izin verir.

PHP’nin eski versiyonlarında sadece string kanalındaki yorum bloklarına izin verilir. PHP 8 versiyonundaki attributes özelliği ile diğer kanalların yorumları da kullanılabilir. 

Kurucularda Özellik Tanımları

Başlıktaki özellik ile sistem üzerinde daha anlaşılır kodların kullanılmasına imkân tanınır. PHP 8 içerisinde oluşturulan sınıfların özelliklerini doğrudan başlangıç değerine atayabilirsiniz.

Önceki versiyonlarda özellik tanımlamaları class’ın ilk aşamasında yapılırdı. Bu aşamada başlangıç değeri ataması yapılacaksa yine kurucu içerisinde yapılması gerekirdi. PHP 8’de ise eski kodlarınızı hiç değiştirmeden bırakabilirsiniz. Yeni kodlarınız ile sistemi kullanmaya devam edebilirsiniz.   

Birleşik Değişken Tiplerinin Eklenmesi

Birleşik değişken tiplerinin eklenmesi de işleri çok kolaylaştıran bir özelliktir. Birden fazla tipe sahip olan değişkenler doğal birleşik değişkenlerle yapılabilir.

Match İfadesinin Kullanımı

Her ne kadar yukarıdakiler kadar büyük bir gelişme olmasa da PHP 8, match ifadesinin kullanımını da sağlar. Yeni match ifadesi ile sistemde swich özelliğine çok benzeyen bir yapı karşınıza çıkar.

  • Match ifadesi ile sunucu, bir değişken içerisinde saklanabilir.
  • Match ifadesi, tek satırlık ifadeleri destekler. Sistemin kullanılması için break kullanımına ihtiyaç duyulmaz.
  • Match, strict türünde bir karşılaştırma yapar.

Nullsafe Operatörünün Kullanımı

Nullsafe operatörünün kullanılması ile kod yığınları ortadan kaldırılabilir. Null operatörünü bir zincir olarak kullanabilirsiniz. Zincirin bir noktasında Null değeri dönerken başlangıcında da Null yer alır.

Metin ve Sayı Karşılaştırmaları

PHP’nin eski versiyonunda metin ve sayı değerlerinin karşılaştırılması esnasında metin değerleri sayı değerine çevrilirdi. Karşılaştırma ise iki sayı değeri arasında yapılırdı. Bu durumda metin değerinin gerçekte sayı ifade etmemesinden dolayı bir kısım hatalara neden olurdu.

PHP 8 versiyonunda ise gerçekten sayı değeri ifade etmeyen metinlerin çevirisi yapılmaz. Bunun yerine sayı değerleri metin türüne dönüştürülerek iki metnin aynı olup olmadığı kontrol edilir.

Güncel Versiyondan Elde Edilen Sonuç

PHP8, kullanıcıların işini kolaylaştıracak birçok özelliği ihtiva ediyor. Söz konusu özelliklerin başında kodun okunabilir ve anlaşılır şekilde yazılması yer alıyor. Bunların yanında da yeni versiyon ile birçok özelliğin sisteme dahil edildiğini görebilirsiniz.

PHP 8 kullanmak için bazı durumları da göz önünde bulundurmanız gerekiyor:

  • Eğer paylaşımlı sunucu kullanıyorsanız, servis sağlayıcınız tarafından verilen hizmetin PHP 8 özelliği ile sunulmasını beklemek zorunda kalabilirsiniz.
  • Eski versiyonlarda kullanılan eklentileriniz varsa, yeni sürüm için bu eklentilerin güncellemelerini beklemeniz gerekebilir.

PHP programcılığının 8.0 versiyonu ile kod yazma işlemleriniz kolaylaşır ve kısa sürede sonuca ulaşabilirsiniz. Tüm bu özellikler göz önünde bulundurulduğunda PHP 8.0, kullanmaya değer bir programlama dilidir.

Bu içeriği paylaşın:

Damla Öz

Related Posts

Kaynak Kodu Nedir ve Neden Önemlidir?

E-ticaret ya da kodlama işleri ile uğraşıyorsanız kaynak kodu kavramını da araştırmanız gerekir. İnternet dünyasında önemli bir yere sahip olan kaynak kodu HTML metinler üzerinde bulunur. Kaynak kodu, HTML altyapısına…

Web sitesi performansını izlemek için kullanabileceğiniz 3 platform

Kötü web sitesi performansı, büyük dosya boyutlarından eski yazılımlara kadar birçok faktörden kaynaklanabilir ve site kullanılabilirliği üzerinde olumsuz bir etkilere sahiptir. Bu nedenle, web sitenizin hızına hakim olmak çok önemlidir.…

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Sizin İçin Önerildi

Nessus ve Nexpose Nedir?

Nessus ve Nexpose Nedir?

Siber Güvenlikte Pasif ve Aktif Bilgi Toplama

Siber Güvenlikte Pasif ve Aktif Bilgi Toplama

Ağ Yapılarında Node ve Edge Analizleri: Sunucu Performansına Etkileri

Ağ Yapılarında Node ve Edge Analizleri: Sunucu Performansına Etkileri

Bulut Sunucularının İşletmeler İçin Avantajları ve Dikkat Edilmesi Gerekenler

Bulut Sunucularının İşletmeler İçin Avantajları ve Dikkat Edilmesi Gerekenler

Kaynak Kodu Nedir ve Neden Önemlidir?

Kaynak Kodu Nedir ve Neden Önemlidir?

Landing Page: Nedir, Nasıl ve Neden Kullanılmalı?

Landing Page: Nedir, Nasıl ve Neden Kullanılmalı?

MsSQL Database Generate Script İşlemi Nasıl Yapılır?

MsSQL Database Generate Script İşlemi Nasıl Yapılır?

Largest Contentful Paint (LCP) Nedir? LCP Performansı Nasıl İyileştirilir?

Largest Contentful Paint (LCP) Nedir? LCP Performansı Nasıl İyileştirilir?

Microsoft Hyper-V Nedir, Nasıl Kurulur?

Microsoft Hyper-V Nedir, Nasıl Kurulur?

Bandwidth Nedir, Nasıl Ölçülür?

Bandwidth Nedir, Nasıl Ölçülür?

Plesk Panel Nedir, Ne için Kullanılır?

Plesk Panel Nedir, Ne için Kullanılır?

VMware Nedir?

VMware Nedir?

PHP 8 Yenilikleri, Özellikler, İyileştirmeler ve Güncellemeler

PHP 8 Yenilikleri, Özellikler, İyileştirmeler ve Güncellemeler

Web sitesi performansını izlemek için kullanabileceğiniz 3 platform

Web sitesi performansını izlemek için kullanabileceğiniz 3 platform

WordPress sitelerde spam sorunu ile nasıl başa çıkılır?

WordPress sitelerde spam sorunu ile nasıl başa çıkılır?