PHP 8.5 Yenilikleri neler? Pipe operatörü, URI uzantısı, NoDiscard, bellek sınırı ve uyumluluk değişikliklerini 2026 bilgileriyle ayrıntılı inceleyin.
PHP sürümünü yükseltmek bazen yalnızca performans beklentisiyle yapılan basit bir değişiklik gibi görünür. Oysa eski sözdizimleri, kaldırılan ayarlar ve yeni uyarılar üretim ortamında beklenmedik hatalara yol açabilir. PHP 8.5 Yenilikleri bu nedenle yalnızca yeni özellikleri değil, yükseltme öncesinde kontrol edilmesi gereken uyumluluk noktalarını da kapsıyor.
- PHP 8.5 Yenilikleri Neler?
- PHP 8.5 nedir ve 2026’da hangi aşamada?
- Pipe operatörü kod akışını nasıl değiştiriyor?
- Yeni URI uzantısı ne sağlıyor?
- Bellek sınırı artık daha sıkı kontrol edilebiliyor
- Dizilerin ilk ve son değerine doğrudan erişim
- # hangi hataları yakalamaya yardımcı oluyor?
- PHP 8.5’e geçerken hangi eski kullanımlar kontrol edilmeli?
PHP 8.5, 20 Kasım 2025’te yayımlandı. 1 Eylül 2026 itibarıyla 8.5 serisinin güncel kararlı sürümü PHP 8.5.10 ve bu dal 31 Aralık 2027’ye kadar aktif destek alacak. Bu zaman çizelgesi, özellikle WordPress, özel PHP uygulamaları ve framework tabanlı projelerde yükseltmeyi planlamak için yeterli bir geçiş süresi bırakıyor.
PHP sürüm değişiklikleri WordPress tarafında eklenti uyumluluğunu da doğrudan etkileyebilir. Eğitim sitesi yönetenler, altyapı güncellemesi öncesinde kullandıkları araçları gözden geçirirken WordPress Eğitim Eklentileri: Okullar İçin En İyi 40’tan Fazla Seçenek içeriğindeki eklenti türlerini de kontrol listesine ekleyebilir.

PHP 8.5 Yenilikleri Neler?
PHP 8.5 Yenilikleri arasında soldan sağa fonksiyon zincirlemeyi sağlayan pipe operatörü, yeni URI uzantısı, array_first() ve array_last() fonksiyonları, #[\NoDiscard] niteliği ve nesne klonlarken özellik değiştirme desteği öne çıkıyor. Sürüm ayrıca bazı eski kullanımları kullanımdan kaldırılacak olarak işaretliyor ve hatalı tür dönüşümlerinde yeni uyarılar getiriyor.
PHP 8.5 nedir ve 2026’da hangi aşamada?
PHP 8.5, dilin 8.x serisindeki yeni özellikleri ve uyumluluk değişikliklerini bir araya getiren sürüm dalıdır. Resmî destek planına göre halen aktif destek dönemindedir. Bu da hata ve güvenlik düzeltmelerinin düzenli nokta sürümleriyle yayımlanmaya devam ettiği anlamına gelir.
Pipe operatörü kod akışını nasıl değiştiriyor?
PHP 8.5 Yenilikleri içinde en görünür değişikliklerden biri |> pipe operatörü. Bu yapı, bir değeri ardışık fonksiyonlara soldan sağa iletmeyi mümkün kılıyor. İç içe geçmiş fonksiyon çağrıları yerine okunması daha kolay bir işlem sırası kurulabiliyor.
$result = $text
|> trim(...)
|> (fn($value) => str_replace('-', ' ', $value))
|> strtoupper(...);
Buradaki önemli nokta, her adımın önceki adımın sonucunu devralması. Özellikle metin dönüştürme gibi art arda birkaç işlem yapılan bölümlerde kodun hangi sırayla çalıştığını izlemek kolaylaşıyor.
Yeni URI uzantısı ne sağlıyor?
Eski parse_url() fonksiyonu kullanımda kalırken PHP 8.5, RFC 3986 ve WHATWG URL standartlarını temel alan yerleşik URI desteği ekliyor. Yeni API, URI bileşenlerini ayrıştırma, normalleştirme ve değiştirme işlemlerini daha yapılandırılmış biçimde ele alıyor.
RFC 3986 tarafında Uri\Rfc3986\Uri sınıfı kullanılabiliyor. WHATWG yaklaşımı ise tarayıcıların URL davranışına daha yakın bir model sunuyor. Hangi yapının seçileceği, uygulamanın URI’yi standart bir tanımlayıcı olarak mı yoksa web tarayıcısına benzer biçimde mi işlemesi gerektiğine bağlı.
Bellek sınırı artık daha sıkı kontrol edilebiliyor
PHP 8.5 Yenilikleri sunucu yöneticilerini ilgilendiren max_memory_limit ayarını da getiriyor. Bu değer yapılandırıldığında, uygulama içinden ini_set() ile memory_limit değerinin belirlenen üst sınırın üzerine çıkarılması engellenebiliyor.
Örneğin üst sınır 256 MB ise kod içinde 512 MB talep edilmesi veya limitsiz bellek için -1 atanması başarılı olmuyor. PHP bunun yerine uyarı üretiyor ve izin verilen üst sınırı koruyor. Bu özellik varsayılan olarak sınırsız durumda olduğundan gerçek davranış sunucu yapılandırmasına göre değişebilir.

Dizilerin ilk ve son değerine doğrudan erişim
Yeni array_first() ve array_last() fonksiyonları, daha önce anahtarı bulup ardından değere ulaşmayı gerektiren küçük ama sık tekrarlanan işlemi kısaltıyor.
$items = ['bir', 'iki', 'üç'];
echo array_first($items);
echo array_last($items);
Editör olarak sürüm farklarını incelerken dikkatimi çeken küçük ayrıntı şu oldu: boş bir dizi için bu fonksiyonlar null döndürüyor, ancak son elemanı zaten null olan bir dizide de aynı sonuç alınabiliyor. Bu nedenle yalnızca dönen değere bakarak dizinin boş olduğuna karar vermemek gerekiyor.
#[\NoDiscard] hangi hataları yakalamaya yardımcı oluyor?
PHP 8.5 Yenilikleri ile gelen #[\NoDiscard], dönüş değeri dikkate alınması gereken fonksiyonlarda uyarı üretilebilmesini sağlıyor. Fonksiyon çağrılır fakat dönen değer kullanılmazsa PHP geliştiriciyi uyarıyor. Değerin bilinçli olarak yok sayıldığı durumlarda (void) dönüşümü kullanılabiliyor.
Bu yaklaşım özellikle işlemin sonucunun başarı, hata veya ara durum bilgisi taşıdığı API’lerde sessizce atlanan dönüş değerlerini fark etmeyi kolaylaştırıyor.
PHP 8.5’e geçerken hangi eski kullanımlar kontrol edilmeli?
PHP 8.5 Yenilikleri yalnızca eklemelerden oluşmuyor. Backtick ile shell_exec() çağırma, (boolean), (integer), (double) ve (binary) gibi standart dışı cast adları, case satırını iki nokta yerine noktalı virgülle bitirme ve null değerini dizi anahtarı olarak kullanma artık kullanım dışına çıkarılma sürecinde.
Ayrıca __sleep() ve __wakeup() yöntemleri yumuşak biçimde kullanımdan kaldırılmış durumda; yeni kodlarda __serialize() ve __unserialize() tercih ediliyor. disable_classes INI ayarı ise PHP 8.5 ile kaldırıldı. NAN değerini başka türlere dönüştürme, temsil edilemeyen float değerlerini int türüne çevirme ve dizi olmayan değerleri destructuring ile açma gibi durumlarda da yeni uyarılar görülebiliyor.

Üretim sistemine geçmeden önce hata kayıtlarını kontrol etmek, kullanılan paketlerin PHP 8.5 desteğini doğrulamak ve test ortamında gerçek iş akışlarını çalıştırmak daha güvenli bir geçiş sağlar. Özellikle eski kod tabanlarında uyarıların göz ardı edilmesi, bugün çalışan bir bölümün ilerideki PHP sürümlerinde tamamen bozulmasına zemin hazırlayabilir.
Teknik bilgi tarafı netleştiğinde, kullanıcı cihazında ortaya çıkan bağlantı ve erişim sorunları ayrı değerlendirilmelidir. 11858, 2011’den bu yana Türkiye genelinde 7/24 teknik destek sunuyor; bilgisayar, akıllı TV, sosyal medya ve modem sorunlarında lisanslı TeamViewer ve AnyDesk araçlarıyla uzaktan bağlantı sağlayabiliyor. Hizmet dakika bazlı ücretlendirme, yüzde 95 memnuniyet oranı ve 500.000’den fazla tamamlanmış işlem tecrübesiyle yürütülüyor.
WordPress tarafında PHP yükseltmesi sonrasında içerik bloklarının beklenmedik davranıp davranmadığını da kontrol etmek gerekir. Özellikle koşullu gösterim kullanan sitelerde WordPress Bloklarında Görünürlük Ayarları Nasıl Yapılır içeriği, blok bazlı kontrolleri yeniden gözden geçirmek için yararlı bir sonraki adım olabilir.
PHP 8.5 Yenilikleri, tek başına daha yeni bir sürüme geçme gerekçesi değil; asıl değer, kodun daha okunabilir, hataların daha görünür ve eski bağımlılıkların daha erken fark edilir hale gelmesinde. Siz yükseltme sırasında en çok hangi değişikliğin mevcut kodunuzu etkileyeceğini düşünüyorsunuz? Deneyiminizi yorumlarda paylaşabilirsiniz.