PHP 8 Yenilikler, Özellikler ve Güncellemeler

Artık PHP 8 için tarih verildi, 26 Kasım 2020 tarihinde daha hızlı, daha güncel ve daha stabil bir PHP sürümü yavaş yavaş geliyor. Test sürümleri ile bir çok hatalar düzeliyor ve çıkış tarihine hazırlanıyor. Peki bu yeni ana sürüm olan PHP 8 ile neler gidecek, neler gelecek diye sürekli araştırıp incelerken, buradan da paylaşıp hem bana not hem size bir duyuru olsun dedim.

Bir kere iddia edilen en önemli konu çok iyi bir hız ve performans artışı olacağı, bir çok özelliklerin geleceği yönünde. Bu tabi ki en çok önemsenen konuların da başında geliyor. Fakat bu geçiş sürecinin bazı sancıları da olmayacak değil. Özellikle alt sürümlerde yazılmış olan yazılımlarınızı PHP 8’e geçirmek isterken bazı düzenlemeler ve değişiklikler yapmanız gerekecek.

 

  • JIT performans konusunda iyileştirmeler var, kullandıkça göreceğiz.
  • Hata göstermemek için kullandığımız @ işareti artık önemli hataları susturmayacak.
  • JSON olmadan derleme yapabiliyorduk ama artık mümkün değil, her zaman kullanılabilir olacak.
  • Union Types; Birden fazla tip tanımlamaları kullanılabilecek örnek;
 public function foo(Foo|Bar $input): int|float;

 

  • PHP 8 ile metod ve sınıfların parametrelerine isim verilebilecek. Bu sayede açıklama ile, dökümantasyon için bir avantaj sağlayacak.
foo( 
b: 'value b', 
a: 'value a', 
d: 'value d'
);

 

  • Break’e gerek duymadan koşullu çıktılar artık mümkün.
$result = match($input) { 
0 => "hello", 
'1', '2', '3' => "world", 
};

 

  • strpos gitti yerine str_contains geldi.
str_contains("abc", "a"); // true
str_contains("abc", "d"); // false
str_contains("abc", ""); // true
str_contains("", ""); // true

 

  • Yeni get_debug_type() fonksiyonu ile değişken kontrolü daha kısa. String, boolean, obje mi?

gettype() ile;

(is_object($bar) ? get_class($bar) : gettype($bar)

get_debug_type() ile;

get_debug_type($bar)

 

Daha bunun gibi bir çok eklenen, çıkan ve değişenler mevcut. Ama önemliler bunlar benim için, o yüzden kısa kestim. Zaten çıktığında daha detaylı olarak değineceğiz.

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir