“Detayda saklı devrim” diye boşuna dememişler...
PHP 8.4 yayınlandı, 8.5 ise kapıda. Öyle köklü kırılmalar yok belki ama ufak dokunuşlarla büyük konfor vaat eden bu iki sürüm, geliştirici tarafında sessiz bir evrim başlatıyor. Hadi gel, 8.4’te neler geldi, 8.5 bize ne hazırlıyor, birlikte bakalım.
PHP 8.4, bir sürü bug fix ve güvenlik güncellemesiyle geldi. 27 kritik sorun düzeltildi, 17’si doğrudan güvenlik açığıydı.
✔ CVE kodlarıyla belgelenmiş, ciddi açıklar kapatıldı.
Kısaca: Sistemini PHP 8.4'e çekmeyen, kendine açık kapı bırakıyor.
JIT (Just In Time) compiler daha optimize hale getirildi. Üst seviye değil ama fark edilir bir hız artışı var.
Eskiden şöyle yazıyorduk:
strtolower(trim(htmlspecialchars($input)));
Şimdi böyle yazacağız:
$input |> htmlspecialchars |> trim |> strtolower;
Hem daha temiz, hem daha okunabilir. Functional Programming sevenler için tam ziyafet.
Array’lerin ilk ve son elemanını almak için artık gerek yok döngü kıvırmasına:
$ilk = array_first($dizi);
$son = array_last($dizi);
Sade, pratik, tam geliştirici dostu.
Error handler set ettin ama acaba neydi? Artık görebileceksin.
$hata = get_error_handler();
Bu, debugging’de adeta bir fener.
Eskiden “ölüm sessizliği” gibi hiçbir şey dönmeyen hatalar şimdi:
Fatal error: Uncaught Error in line 32
Stack trace:
#0 {main}
Bu artık işimizi bayağı kolaylaştıracak.
CLI ile hangi ini ne farkla yükleniyor, artık bunu anında görebileceksin. Özellikle paylaşımlı hosting ya da container kullananlar için nimet.
Özellik | PHP 8.4 | PHP 8.5 |
---|---|---|
Güvenlik Güncellemeleri | ✔️ | ✔️ (devam edecek) |
JIT İyileştirmeleri | Orta | Daha stabil |
Pipe Operator (|> ) | ❌ | ✔️ |
array_first() / last() | ❌ | ✔️ |
Stack-trace Fatal Errors | ❌ | ✔️ |
get_error_handler() | ❌ | ✔️ |
CLI INI Farkı Gösterme | ❌ | ✔️ |
PHP 8.4, altyapıyı sağlamlaştırdı. PHP 8.5 ise geliştiricinin günlük iş akışına tatlı tatlı dokunuyor. Belki devrim değil ama devrimin yolu açılıyor. Eğer projeni hala 8.2 veya 8.3 gibi daha eski bir sürümde tutuyorsan, önce 8.4’e, sonra da 8.5’e geçiş için hazırlıklara başlayabilirsin.
Yeni sürümlere geçmeden önce testlerin sağlam çalıştığından emin ol. Pipe operator gibi değişiklikler bazı helper fonksiyonlarının yazım tarzını değiştirebilir.