https://www.youtube.com/embed/dWH65pmnsrI
Ayrıca kullanışlılığı ve true/false çıktısı değişen işlemlerde olacak;
- Switch case koduna alternatif olarak match kodu eklendi. Aşağıda gördüğünüz 2 kod aynı çıktıyı verecek:
switch(2){
case 1:
$result = "1";
break;
case 2:
$result = "2";
break;
case 3:
$result = "3";
break;
default:
$result = "0";
break;
}
$result = match(2){
1 => "1",
2 => "2",
3 => "3",
default => "0"
};- Üçlü karşılaştırma operatörüne parantez zorunluluğu getirilecek:
Şuanda $sonuc = ifade ? deger1 : deger2 ? deger3 : deger4; olarak kullanılan yapı PHP 8.0 ile daha kolay okunabilmesi için parantezle kullanılması gerekecek. Örneğin $sonuc = ifade = deger1 : (deger2 ? deger3 : deger4); şeklinde. - Artı ve eksi operatör öncelikleri değişecek:
Şuanda $sonuc = '3' . '5' + 7; işlemini yaptığınızda 35 + 7 işleminden 42 sonucunu alırken PHP 8.0 ile bu işlem artık '3' . '12' işleminden 312 sonucunu verecek. (Bilmeyenler için nokta (.) operatörü birleştirme operatörüdür) Yani toplama ve çıkarma işlemleri de soldan sağa okumaya dahil edilmek yerine diğer operatörler gibi öncelikli olacak. - Diziler ( Array ) artık negatif değerlerden başlayabilecek. Örneğin $array[-4] = '-4. dizi değeri'; şeklinde kullanılabilecek.
- strpos metoduna alternatif str_contains metodu eklenecek. Şuanda strpos metoduyla metnin içince aradığımız değer var mı diye baktığımızda yoksa false, varsa int değeri döndürüyor. PHP 8.0 ile gelen str_contains metodu sayesinde daha doğru sonuçlar alacağız çünkü bu metot boolean sonuç döndürecek.
Kaynak: PHP 8 ile Gelen Yenilikler
Konuda hatalı bilgi varsa, bilmediğim geniş kapsamlı/önemli bir yenilik varsa konuya yorum olarak belirtirseniz detaylı araştırıp konuyu güncelleyebilirim.
ama artık yavaş yavaş çekilme vakti geldi.