PHP 8.4-ün alfa testi başladı

Yeni PHP 8.4 proqramlaşdırma dilinin ilk alfa buraxılışı təqdim edildi. Buraxılış 21 noyabr tarixinə planlaşdırılıb. PHP 8.4-dəki əsas yeniliklər, artıq sınaqdan keçirilə bilən və ya reallaşdırılması planlaşdırılanlar:

  • Obyektin xüsusiyyətləri dəyişdirildikdə və ya ona giriş zamanı icra edilən əlavə lojiqa əlavə etməyə imkan verən xüsusiyyət işlədiricilərinin (property hook) dəstəyi əlavə edildi. Bu, oxuma və yazma əməliyyatlarının ümumi __get və __set funksiyaları ilə ələ keçirilmədən həyata keçirilir və əlavə bir qablaşdırma metodu yaratmadan mümkündür. Xüsusiyyət işlədiricilərindən istifadə etmək, kodun həcmini əhəmiyyətli dərəcədə azaltmağa və xüsusiyyətlərlə işləmə davranışını sadələşdirməyə imkan verir, çünki hər bir xüsusiyyətə öz işlədirisini bağlamağı mümkün edir. class User { public string $name { set { if (strlen($value) === 0) { throw new ValueError("Ad boş ola bilməz"); } $this->name = $value; } } public function __construct(string $name) { $this->name = $name; } }
  • İndi "new" tərtibatında metodlara referansları ayrıcı mötərizələr olmadan göstərmək icazə verilir, yəni "name = (new MyClass())->method()" yerinə "name = new MyClass()->method()" yazmaq olar.
  • JIT tərtibitçisini idarə etmək üçün ümumi "opcache.jit_buffer_size" parametrinin yerinə "opcache.jit" və "opcache.jit_buffer_size" parametrləri təklif edildi. JIT-i söndürmək üçün indi "opcache.jit=disable" yazmaq mümkündür, bu "opcache.jit_buffer_size=0" yerinədir. Bundan əlavə, bəzi hallarda JIT-in yaddaş istehlakını azaldan və performansını artıran dəyişikliklər edilib.
  • Null üçün verilən standart dəyəri olan funksiya parametrinin davranışının köhnəldiyi elan edildi. Belə parametrlərin null dəyərlərini qəbul etməsi üçün "?" prefiksinin açıq göstərilməsi tələb olunur. Məsələn, "function save(Book $book = null) {}" əvəzinə "function save(?Book $book = null) {}" yazılmalıdır.
  • Korrekt HTML5 markupını təhlil edən \Dom\HTMLDocument sinfi həyata keçirildi.
  • multipart/form-data (RFC1867) məzmun növü olan HTTP sorğularını təhlil etmək üçün request_parse_body() funksiyası əlavə edildi.

Mənbə: opennet.ru

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster