Selam! Eğer PHP ile projeler geliştiriyorsan, 8.4 sürümüyle gelen yenilikler tam sana göre. Hem performans tarafında hem de kod yazımını kolaylaştıracak özelliklerde güzel güncellemeler var. Bu yazıda PHP 8.4’te neler değişti, hangi yeni özellikler geldi ve nasıl kullanılır birlikte bakalım. Arada örnek kodlar ve açıklamalar da olacak, merak etme 😊
✅ 1. “Property Hooks” (Özellik Kancaları) Geldi
Bildiğin gibi PHP’de getter–setter kullanmak bazen zahmetli oluyordu. PHP 8.4 ile birlikte artık direkt özellik üzerinde tanım yapabiliyoruz.
💡 Örnek:
1 2 3 4 5 6 7 8 9 10 11 12 | class Kullanici { private string $isim { get => $this->isim; set => $this->isim = trim($value); } } $k = new Kullanici(); $k->isim = " Ali "; echo $k->isim; // çıktı: "Ali" |
Ne işe yarıyor?
Artık getter ve setter yazmak için ayrı metotlarla uğraşmıyorsun. Özelliğe bağlı davranışı direkt orada tanımlıyorsun.
✅ 2. Yeni “Readonly Amendments” (Geliştirilmiş Readonly Kullanımı)
PHP 8.2 ile gelen readonly
ifadesi 8.4’te daha esnek hale geldi.
Örnek:
1 2 3 4 5 6 7 8 9 10 11 | class Urun { public readonly string $ad; public function __construct(string $ad) { $this->ad = strtoupper($ad); } } $urun = new Urun("telefon"); echo $urun->ad; // TELEFON |
Artık readonly özellikleri construct dışında da bazı sınırlı durumlarda düzenlemek mümkün.
✅ 3. İyileştirilmiş Performans (Just-In-Time & OPCache)
PHP 8.4 çekirdek seviyede bazı optimizasyonlar getiriyor:
- Daha hızlı fonksiyon çağrıları
- Daha verimli bellek kullanımı
- JIT (Just-In-Time) geliştirmeleri
- İyileştirilmiş opcache davranışları
Bu özellikler doğrudan koduna müdahale etmeden performans artışı sağlıyor.
✅ 4. Fiber Geliştirmeleri (Concurrency Tarafı)
PHP 8.1 ile gelen Fiber
yapısı 8.4’te güçlendirildi. Asenkron işlerde artık daha stabil.
1 2 3 4 5 6 7 | $fiber = new Fiber(function () { return "İşlem tamam!"; }); echo $fiber->start(); // çıktı: İşlem tamam! |
Özellikle yüksek trafikli sistemlerde işine yarar.
✅ 5. Yeni ve Geliştirilmiş Fonksiyonlar
Bazı fonksiyonlar eklendi, bazıları genişletildi.
🔹 str_split
artık Unicode desteğiyle daha başarılı
🔹 array_is_list
daha hızlı çalışıyor
🔹 Yeni bir örnek fonksiyon:
1 2 3 4 5 6 | $array = ["elma", "armut", "muz"]; if (array_is_list($array)) { echo "Bu bir liste."; } |
✅ 6. Deprecation (Kaldırılacak Özellik Uyarıları)
PHP 8.4 ile bazı eski kullanım şekilleri uyarı veriyor. Örneğin:
- Dinamik özellik tanımlama (warning veriyor)
- Bazı eski fonksiyonlar deprecated oldu
1 2 3 4 5 6 7 | class Deneme { public function test() { $this->yeniOzellik = "selam"; // Uyarı: Dynamic property deprecated } } |
Artık böyle şeylerin yerine property tanımlamak şart.
✅ 7. Enum’larda Küçük Ama Faydalı Geliştirmeler
Enums PHP 8.1 ile gelmişti ama 8.4’te daha da pratik hale geldi.
1 2 3 4 5 6 7 8 9 10 11 12 | enum Durum: string { case AKTIF = 'aktif'; case PASIF = 'pasif'; } function yazdir(Durum $durum) { echo $durum->value; } yazdir(Durum::AKTIF); // aktif |
Artık type juggling ve hata kontrolü daha sağlam.
✅ 8. Yeni Attribute İmkanları
PHP 8.4 attribute’ları daha okunabilir ve genişletilebilir hale getirdi.
1 2 3 4 5 6 | #[Route('/anasayfa', methods: ['GET'])] function anasayfa() { return "Merhaba"; } |
Framework’lerle entegrasyon kaldırıyor uçuşa 🚀
✅ Sonuç Olarak: Güncellemeye Değer mi?
Kesinlikle evet. PHP 8.4;
- Kod yazımını basitleştiriyor
- Hatasız ve daha okunabilir projeler sağlıyor
- Performansı artırıyor
- Modern PHP standartlarına göz kırpıyor
Projelerinde PHP 7 kullanıyorsan, artık güncelleme zamanı geldi. PHP 8.2 veya 8.3 kullanıyorsan, 8.4’le geçiş hem kolay hem konforlu.
Yorum Yap