PHP 8.4'ün Yenilikleri, Geliştirmeleri ve Çıkış Tarihi - PHP 8.4 ile 8.3 Kıyaslaması

PHP 8.4'ün Yenilikleri, Geliştirmeleri ve Çıkış Tarihi - PHP 8.4 ile 8.3 Kıyaslaması - bimakale.com | bimakale.com
28 Mayıs 2024 Salı - 15:49 (5 Ay önce)

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_HUGE seç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ı: DateTime ve DateTimeImmutable sınıflarına getMicrosecond ve setMicrosecond yö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\HTMLDocument sı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_HUGE seç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 (?string gibi).

HTTP ve Tarih/Saat

  • PHP 8.3: HTTP başlık yönetimi $http_response_header ile yapılıyor.
  • PHP 8.4: Yeni http_get_last_response_headers() ve http_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: DateTime ve DateTimeImmutable sınıflarında mikrosaniye desteği yok.
  • PHP 8.4: DateTime ve DateTimeImmutable sınıflarına getMicrosecond ve setMicrosecond yö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() ve mb_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\HTMLDocument sı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


  • Php
  • Web Yazılım



Yorumlar
Sende Yorumunu Ekle
Kullanıcı
0 karakter