Sadece 7 gün içinde PHP 7.4’ün yayınlanması gerçekten şaşırtıcı. Yeni güncellemelerle, azaltılmış bellek kullanımı ve önemli bir performans artışı sağlanadı. Bu makalede PHP 7.4’ün 10 ana özelliğine değiniyor olacağız.

Neden bazı programlama dilleri bu kadar popülerken, diğerleri nadiren proje geliştirme için kullanılıyor ve bazen unutuluyor? Bunun için birçok sebep var. Sözdizimi, işlevsellik, geliştirme ağı ve topluluk desteğinin basitliği, her teknoloji için talep düzeyini etkiler.

Bilişim dünyası sürekli gelişirken, kodlama teknolojileri yeni özellikler, güncellemeler ve geliştirmeler sağlayarak değişen ortama ayak uydurmak zorunda. Bu dil başarısının en önemli unsurlarından biridir.

PHP 5’in 2004’te piyasaya sürülmesinden bu yana, performansı iki katına çıkmış ve belki de üç katına çıkmıştır. Mavis Agency Ajansımızda PHP kullanmamızın nedenlerinden biri de budur.

Üst üste ikinci yıl için PHP’nin StackOverflow Developer Survey 2019’a göre en popüler 10 programlama dili arasında olması şaşırtıcı değil . Bu yıl bir önceki yıla göre birincilikle 8. sırada yer aldı .

Sadece 7 gün içinde , 28 Kasım Perşembe günü, şimdiye kadarki en çok özellikli sürümlerden biri haline gelecek olan PHP – PHP 7.4’ün yeni sürümünü göreceğiz. Bu makalede, PHP 7.4’in güncellenmiş özelliklerine genel bakış listeleyip ele alacağım. Başlayalım!

PHP 7.4’teki yenilikler

1. Ok fonksiyonlarının desteği

Anonim işlevler veya kapanmalar çoğunlukla JS’de uygulandığından, PHP’de ayrıntılı gibi görünürler. Uygulama ve bakım prosedürleri de daha karmaşıktır.

Ok işlevlerinin desteklenmesi, PHP geliştiricilerinin kodlarını önemli ölçüde temizlemelerini ve sözdizimini daha özlü hale getirmelerini sağlayacaktır. Sonuç olarak, daha yüksek düzeyde kod okunabilirliği ve basitliği elde edersiniz. Aşağıdaki örneğe bir göz atın.

Yani, daha önce bu kod parçasını yazmanız gerekiyorsa:

fonksiyon küpü ($ n) { 
dönüş ($ n * $ n * $ n); 
} 
$ a = [1, 2, 3, 4, 5]; 
$ b = dizi_dosyası ('küp', $ a); 
print_r ($ b)

Düzgün, daha kısa kod oluşturma yeteneği sayesinde, web geliştirme süreci daha hızlı gidecek ve zamandan tasarruf etmenizi sağlayacaktır.

2. Yazılan özelliklerin desteği

Bir sonraki sürümde yazılan özelliklerin tanıtılması muhtemelen en önemli güncellenmiş PHP özelliklerinden biri olarak kabul edilecektir. Daha önce sınıf değişkenleri ve özellikleri (statik özellikler dahil) için bildirim yöntemlerini kullanma olanağı yoktu, şimdi programcılar belirli alıcı ve ayarlayıcı yöntemleri oluşturmadan kolayca kodlayabilirler.

Bildirim türleri (geçersiz ve çağrılabilir hariç) nedeniyle, nullable türleri, int, kayan nokta, dizi, dize, nesne, yinelenebilir, kendi kendine, bool ve üst öğeleri kullanabilirsiniz.

Bir web geliştiricisi türden alakasız bir değer atamaya çalışırsa, örneğin, $ name dizesi olarak bildirilirse, bir TypeError mesajı alır.

Ok işlevleri gibi, yazılan özellikler de PHP mühendislerinin kodlarını daha kısa ve daha temiz yapmasına izin verir

3. Ön yükleme

Bu harika yeni özelliğin temel amacı PHP 7.4 performansını artırmaktır. Basitçe söylemek gerekirse, önyükleme OPcache’de dosya, çerçeve ve kitaplık yükleme işlemidir ve kesinlikle yeni sürüme harika bir ektir. Örneğin, bir çerçeve kullanıyorsanız, her istek için dosyalarının indirilmesi ve yeniden derlenmesi gerekiyordu.

OPcache yapılandırılırken, bu kod dosyaları ilk kez istek işlemeye katılır ve her seferinde değişiklik olup olmadığı kontrol edilir. Ön yükleme, sunucunun belirtilen kod dosyalarını paylaşılan belleğe yüklemesini sağlar. Dosya değişiklikleri için ek kontroller yapılmadan sonraki tüm istekler için sürekli olarak kullanılabileceklerini belirtmek önemlidir.

Ayrıca, önyükleme sırasında PHP’nin gereksiz içerikleri de içerdiğini ve sınıf bağımlılıklarını ve özellikler, arayüzler ve daha fazlasıyla olan bağlantıları çözdüğünü belirtmek gerekir.

4. Kovaryant dönüşler ve karşıt değişken parametreleri

Şu anda PHP çoğunlukla değişmez parametre türlerine ve bazı kısıtlamalar sunan değişmez dönüş türlerine sahiptir. Kovaryant (tipler daha spesifikten daha genel olana doğru sıralanır) getirileri ve kontravaryantlı (tipler daha jenerik olandan daha spesifik olana doğru sıralanır) parametrelerinin tanıtılmasıyla PHP geliştiricileri parametrenin tipini süper tiplerinden birine değiştirebilir. Döndürülen tür, sırayla, alt türü ile kolayca değiştirilebilir.

5. Zayıf Referanslar

PHP 7.4’te, WeakReference sınıfı, web geliştiricilerinin imhasını engellemeyen bir nesneye bağlantı kaydetmesine olanak tanır. Weakref uzantısının WeakRef sınıfıyla karıştırmayın. Bu özellik nedeniyle, önbellek benzeri yapıları daha kolay uygulayabilirler.

Bu sınıfı kullanma örneğine bakın:

<? php 
$ obj = yeni stdClass; 
$ poorref = WeakReference :: create ($ obj); 
var_dump ($ weakref-> get ()); 
unset ($ obj); 
var_dump ($ weakref-> get ()); 
?>

Ayrıca, Zayıf Referansları serileştiremeyeceğinizi unutmayın.

6. Birleştirme görevi operatörü

Birleşme operatörü PHP 7.4’te bulunan bir diğer yeni özelliktir. Üçlü bir operatörü isset () ile birlikte uygulamanız gerektiğinde çok yardımcı olur. Bu, varsa ve NULL değilse, ilk işleneni döndürmenizi sağlar. Değilse, sadece ikinci işleneni döndürür.

İşte bir örnek:

<? php 
// $ _GET ['user'] değerini alır ve 
yoksa 
'nobody' 
// 
döndürür 
. 
$ username = $ _GET ['kullanıcı'] ?? 'kimse'; 
// Bu şuna eşittir: 
$ username = isset ($ _ GET ['kullanıcı'])? $ _GET ['kullanıcı']: 'kimse'; 
// Birleştirme zincirlenebilir: bu, ilk 
// tanımlı değeri $ _GET ['kullanıcı'], $ _POST ['kullanıcı'] ve 
// 'kimse' 
dışında 
döndürür 
. 
$ username = $ _GET ['kullanıcı'] ?? $ _POST ['kullanıcı'] ?? 'kimse'; 
?>

7. Dizi ifadesinde forma operatörü

PHP 7.4, mühendislere array_merge ile karşılaştırıldığında daha hızlı dizilerde forma işleçlerini kullanma olanağı verecektir. Bunun iki temel nedeni var. İlk olarak, bir yayılma işleci bir dil yapısı olarak kabul edilir ve array_merge bir işlevdir. İkinci neden, derleme sürenizin sabit diziler için optimize edilebilmesidir. Sonuç olarak, PHP 7.4 performansını artırmış olacaksınız.

Dizi ifadesinde paket açma bağımsız değişkenine bir göz atın:

$ parçalar = ['elma', 'armut']; 
$ fruit = ['muz', 'turuncu', ... $ parça, 'karpuz']; 
var_dump ($ meyveler);

Ayrıca, aynı diziyi birden çok kez genişletmek mümkün olacaktır. Ayrıca, normal elemanlar forma operatörünün önüne veya arkasına eklenebileceğinden, PHP geliştiricileri dizideki sözdizimini kullanabilecektir.

8. Yeni bir özel nesne serileştirme mekanizması

PHP’nin yeni sürümünde iki yeni yöntem kullanıma sunulmuştur: __serialize ve __unserialize. Serializable arabiriminin çok yönlülüğünü __sleep / __ uyandırma yöntemlerini uygulama yaklaşımıyla birleştiren bu serileştirme mekanizması, PHP geliştiricilerinin mevcut yöntemlerle ilişkili özelleştirme sorunlarından kaçınmasına izin verecektir. Öğrenin Bu PHP özelliği hakkında daha fazla bilgi .

9. Referanslar için yansıma

Symfony / var-dumper gibi kütüphaneler, değişkenleri doğru bir şekilde görüntülemek için ReflectionAPI’ye büyük ölçüde güvenir. Daha önce, bu kütüphaneleri referansları tespit etmek için korsanlara güvenmeye zorlayan referans yansıması için uygun bir destek yoktu. PHP 7.4, bu sorunu çözen ReflectionReference sınıfını ekler.

10. __toString () kural dışı durumlarını atma desteği

Daha önce __toString yönteminden istisnalar atma yeteneği yoktu. Bunun nedeni, nesnelerin dizelere dönüştürülmesinin standart kütüphanenin birçok işlevinde gerçekleştirilmesidir ve bunların tümü istisnaları doğru bir şekilde “işlemeye” hazır değildir. Bu RFC’nin bir parçası olarak, kod tabanındaki dize dönüşümlerinin kapsamlı bir denetimi gerçekleştirildi ve bu kısıtlama kaldırıldı.

Son düşüncemiz 7.4 için

Sadece bir hafta içinde PHP 7.4 yayınlanacak. Bellek kullanımını azaltan ve PHP 7.4 performansını büyük ölçüde artıran birçok yeni PHP özelliği var. Bu programlama dilinin önceki sınırlamalarından kaçınma, daha temiz kod yazma ve daha hızlı web çözümleri oluşturma olanağına sahip olacaksınız.

Beta 3 sürümü, geliştirici sunucularına indirmek ve test etmek için zaten kullanılabilir. Ancak, bunu üretim sunucularınızda ve canlı projelerinizde kullanmanızı önermem. PHP 7.4 / PHP geliştirme ile ilgili sorularınız varsa veya makaleyi beğendiyseniz, yorumlarınızı aşağıda bırakmaktan çekinmeyin.