PHP 8.4'ün Yenilikleri, Geliştirmeleri ve Çıkış Tarihi - PHP 8.4 ile 8.3 Kıyaslaması
PHP 8.4'te, güvenliği artırmak için PASSWORD_BCRYPT/PASSWORD_DEFAULT algoritmasının maliyet parametresi, varsayılan değerin belirlendiği zamana kıyasla mevcut daha yetenekli donanım göz önüne alındığında, parolaları daha dayanıklı ve hesaplamayı zorlaştırmak için 10'dan 12'ye değiştirildi.
round() fonksiyonuna PHP_ROUND_CEILING, PHP_ROUND_FLOOR gibi yeni yuvarlama modları eklenir.
Büyük XML dosyalarının ayrıştırılmasını kolaylaştıran XML_OPTION_PARSE_HUGE seçeneği sunulur.
DateTime ve DateTimeImmutable sınıflarına mikrosaniye desteği eklenmiştir.
HTTP başlık yönetimi için http_get_last_response_headers() ve http_clear_last_response_headers() işlevleri geliştirilmiştir.
PHP 8.4'ün çıkış tarihi Kasım 2024 olarak planlanmıştır.
PHP 8.4'ün Yenilikleri ve Geliştirmeleri
Güvenlik
- Artan Bcrypt Maliyeti: PHP 8.4'te bcrypt şifre karma işlemlerinin hesaplama maliyeti varsayılan olarak 12'ye çıkarılacak. Bu değişiklik, şifrelerin daha güvenli hale gelmesini sağlayarak kaba kuvvet saldırılarına karşı koruma sağlayacak. Şifre karma işleminin güçlü bir savunma mekanizması olarak kalması için bcrypt maliyetinin ayarlanması, hesaplama gücü arttıkça önemli hale geliyor.
İşlevsellik
- Round() Fonksiyonundaki Yeni Yuvarlama Seçenekleri: PHP 8.4,
round()fonksiyonuna PHP_ROUND_CEILING, PHP_ROUND_FLOOR, PHP_ROUND_AWAY_FROM_ZERO ve PHP_ROUND_TOWARD_ZERO gibi yeni yuvarlama modları ekliyor. Bu, geliştiricilere sayısal işlemler üzerinde daha hassas kontrol sağlayacak.
Veri İşleme
- Gelişmiş XML Belgesi Ayrıştırma: PHP 8.4, büyük XML belgelerinin ayrıştırılmasıyla ilgili sorunları gidermek için yeni bir ayrıştırıcı seçeneği olan
XML_OPTION_PARSE_HUGEseçeneğini sunuyor. Bu seçenek, büyük veri kümelerinde karşılaşılan hataları önleyerek büyük XML dosyalarının güvenilir bir şekilde ayrıştırılmasını sağlayacak.
Performans
- JIT için Bağımsız IR Çerçevesi: Yeni sürüm, Bağımsız IR Çerçevesini temel alan yeni bir uygulamayla Tam Zamanında (JIT) derlemeye yönelik başka bir yaklaşım sunuyor. Bu yeni JIT çerçevesi, IR yapısını kolaylaştırarak ve makineden bağımsız optimizasyonlara olanak tanıyarak çeşitli arka uçları birleştirmeyi amaçlamaktadır.
Tür Sistemi
- Örtülü Nullable: PHP 8.4'te dolaylı olarak null yapılabilir parametre bildirimleri kullanımdan kaldırılıyor. Geliştiricilerin null yapılabilir türleri açıkça bildirmeleri teşvik ediliyor. Örneğin:
function doStuff(?string $test = null) {
}
- Bu değişiklik, tür bildirimlerinin netliğini artırarak kodda hangi türlere izin verildiğine ilişkin olası yanlış anlamaları en aza indirir.
HTTP ve Tarih/Saat
-
HTTP İşleme Geliştirmeleri:
http_get_last_response_headers(): Geçerli komut dosyası tarafından alınan son HTTP yanıtından başlıkları alır.http_clear_last_response_headers(): Yukarıda belirtilen işlev tarafından alınan üstbilgileri temizler.
Bu işlevler, HTTP başlıklarının işlenmesini daha yapılandırılmış ve sezgisel hale getirir.
-
Gelişmiş Tarih ve Saat Kullanımı:
DateTimeveDateTimeImmutablesınıflarınagetMicrosecondvesetMicrosecondyöntemleri ekleniyor. Bu yöntemler, daha kesin zaman damgaları sağlar ve yüksek çözünürlüklü zaman ölçümü gerektiren uygulamalar için özellikle kullanışlıdır.
Çok Baytlı Dizeler
- Yeni mbstring İşlevleri:
mb_trim(): Bir dizenin her iki ucundaki boşlukları ve diğer önceden tanımlanmış karakterleri kırpar.mb_ltrim(): Bir dizenin başlangıcındaki karakterleri kaldırır.mb_rtrim(): Bir dizenin sonundaki karakterleri ortadan kaldırır.
Web Standartları
- HTML5 Belge Ayrıştırma Desteği:
DOM\HTMLDocumentsınıfı, HTML5 belgelerinin ayrıştırılmasına ve serileştirilmesine olanak tanır. Bu, PHP'yi modern web standartlarına daha yakın hale getirir.
Kullanımdan Kaldırmalar
- oci8 ve IMAP Uzantıları: Oracle veritabanı işlevselliğini sağlayan oci8 ve pdo_oci uzantıları ile IMAP uzantısı, PHP çekirdeğinden çıkarılarak PECL'ye taşındı. Bu uzantılar, zamanla üçüncü taraf özel kütüphanelere bağımlılıklar nedeniyle çözülmemiş hatalar biriktirdiğinden çekirdekten çıkarılıyor.
PHP 8.4'ün bu yeni özellikleri ve iyileştirmeleri, güvenlik ve işlevselliği artırırken, geliştiricilere daha verimli veri yönetimi ve işlem yapma araçları sunuyor. PHP'nin evrimine ayak uydurmak ve projelerinizi en güncel standartlarla geliştirmek için bu değişikliklere dikkat etmek önemlidir. PHP 8.4'e yükseltme veya yeni özelliklerin entegrasyonu konusunda yardıma ihtiyacınız varsa, benimle iletişime geçebilirsiniz.
PHP 8.3 ve PHP 8.4 arasındaki farkları ve yenilikleri karşılaştırmalı olarak aşağıda bulabilirsiniz:
Güvenlik
- PHP 8.3: Varsayılan bcrypt maliyeti 10.
- PHP 8.4: Varsayılan bcrypt maliyeti 12'ye çıkarıldı, bu da daha güvenli şifreleme sağlıyor.
İşlevsellik
- PHP 8.3:
round()fonksiyonunun standart yuvarlama modları bulunuyor. - PHP 8.4:
round()fonksiyonuna PHP_ROUND_CEILING, PHP_ROUND_FLOOR, PHP_ROUND_AWAY_FROM_ZERO ve PHP_ROUND_TOWARD_ZERO gibi yeni yuvarlama modları eklendi, geliştiricilere daha hassas kontrol sağlıyor.
Veri İşleme
- PHP 8.3: XML belgelerinin ayrıştırılması mevcut seçeneklerle sınırlı.
- PHP 8.4: Büyük XML belgelerinin güvenilir bir şekilde ayrıştırılmasını sağlayan yeni
XML_OPTION_PARSE_HUGEseçeneği eklendi.
Performans
- PHP 8.3: JIT derleyici mevcut ancak IR çerçevesi daha sınırlı.
- PHP 8.4: Bağımsız IR Çerçevesine dayanan yeni JIT uygulaması sunuldu, bu da daha esnek ve optimize bir derleme süreci sağlıyor.
Tür Sistemi
- PHP 8.3: Dolaylı olarak null yapılabilir parametre bildirimleri mevcut.
- PHP 8.4: Dolaylı olarak null yapılabilir parametre bildirimleri kullanımdan kaldırıldı. Geliştiricilerin nullable türleri açıkça bildirmeleri gerekiyor (
?stringgibi).
HTTP ve Tarih/Saat
- PHP 8.3: HTTP başlık yönetimi
$http_response_headerile yapılıyor. - PHP 8.4: Yeni
http_get_last_response_headers()vehttp_clear_last_response_headers()işlevleri ile HTTP başlıklarının yönetimi daha yapılandırılmış hale getirildi. - PHP 8.3:
DateTimeveDateTimeImmutablesınıflarında mikrosaniye desteği yok. - PHP 8.4:
DateTimeveDateTimeImmutablesınıflarınagetMicrosecondvesetMicrosecondyöntemleri eklendi.
Çok Baytlı Dizeler
- PHP 8.3: mbstring uzantısında trim işlevleri sınırlı.
- PHP 8.4:
mb_trim(),mb_ltrim()vemb_rtrim()işlevleri eklendi, çok baytlı karakterleri daha iyi yönetmek için.
Web Standartları
- PHP 8.3: HTML4 desteği mevcut.
- PHP 8.4:
DOM\HTMLDocumentsınıfı ile HTML5 belgelerinin ayrıştırılması ve serileştirilmesi destekleniyor.
Kullanımdan Kaldırmalar
- PHP 8.3: oci8 ve IMAP uzantıları hala çekirdek PHP'nin bir parçası.
- PHP 8.4: oci8 ve IMAP uzantıları çekirdekten çıkarılarak PECL'ye taşındı.
PHP 8.4, güvenlik, performans ve işlevsellik açısından önemli iyileştirmeler ve yeni özellikler sunarken, eski ve daha az güvenli yaklaşımları kullanımdan kaldırarak modern standartlarla daha uyumlu hale geliyor. PHP 8.3 ise bu yeniliklerin çoğunu içermeyen, daha eski bir sürüm olarak kalıyor. PHP 8.4'e geçiş, özellikle güvenlik ve performans açısından avantaj sağlayacaktır.
PHP 8.4'ün çıkış tarihi Kasım 2024 olarak planlanmıştır
Alakalı İçerikler
-
Laravel 10.x 2 Yıl önce
Laravel etkileyici, zarif sözdizimine sahip bir web uygulaması çerçevesidir. Bir web çerçevesi, uygulamanızı oluşturmak için bir yapı ve başlangıç noktası sağlayarak, biz ayrıntılarla uğraşırken harika bir şey yaratmaya odaklanmanıza olanak tanır.
-
Laravel 11 Ne Zaman Gelecek ve Neler Getirecek 2 Yıl önce
Laravel PHP web uygulamalarında vazgeçilmez kullanımı ve öğrenmesi kolay bir framework'tür. Topluluğu ile sürekli yeni ve hızlı çözümler üreten bu kütüphane istisnasız her ay bir çok güncelleme yayınlıyor.
-
Symfony Reprise 1.0.0 ile Vite‑Rsbuild Entegrasyonu 1 Gün önce
Symfony Reprise 1.0.0, Vite ve Rsbuild gibi modern ön‑uç araçlarını Symfony ile sorunsuz bağlayan ince bir eklenti sunarak entegrasyon sürecini basitleştiriyor.
-
Laravel 13 Nedir? Tüm Yenilikler, Performans Artışları ve Detaylı İnceleme (2026) 5 Ay önce
Laravel ekosistemi her yıl olduğu gibi 2026’da da önemli bir güncelleme ile karşımıza çıktı. Laravel 13, önceki sürümlere kıyasla radikal değişiklikler sunmasa da, performans, modern PHP uyumu ve framework sadeleşmesi açısından oldukça kritik bir versiyon olarak öne çıkıyor.
-
Websocket Nedir? Nasıl Kullanılır? Avantajları Nelerdir? AJAX ve Axios ile Arasındaki Farklar Nelerdir? 8 Ay önce
WebSocket, birçok modern web tarayıcısı ve sunucu platformu tarafından desteklenen bir iletişim protokolüdür.
-
Dinamik Sınırsız Subdomain Nasıl Ayarlanır ve Kullanılır? 8 Ay önce
Subdomain, bir ana etki alanının (domain) altında yer alan ve ana etki alanına bağlı bir alt etki alanıdır. Örneğin, "example.com" ana etki alanıysa, "blog.example.com" bir subdomain olur. Subdomain'ler genellikle ana web sitesine ek özellikler, hizmetler veya içerikler sunmak için kullanılır.
- Php
- Web Yazılım
Tepkini Göster
- 5
- 3
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
Yorumlar
Sende Yorumunu Ekle