ĂshtĂ« prezantuar versioni i parĂ« alfa i degĂ«s sĂ« re tĂ« gjuhĂ«s programuese PHP 8.4. Publikimi Ă«shtĂ« planifikuar pĂ«r 21 nĂ«ntor. RisitĂ« kryesore, tashmĂ« tĂ« disponueshme pĂ«r testim ose tĂ« planifikuara pĂ«r zbatim nĂ« PHP 8.4:
- ĂshtĂ« shtuar mbĂ«shtetja pĂ«r lidhjen e pĂ«rpunuesve tĂ« vetive (property hook), qĂ« mundĂ«sojnĂ« shtimin e logjikĂ«s shtesĂ« e cila ekzekutohet gjatĂ« ndryshimit ose qasjes te vetitĂ« e objektit, pa ndĂ«rprerĂ« operacionet e leximit dhe shkrimit me funksionet e pĂ«rgjithshme __get dhe __set, si dhe pa krijuar metoda shtesĂ« mbĂ«shtjellĂ«se. PĂ«rdorimi i pĂ«rpunuesve tĂ« vetive jep mundĂ«sinĂ« tĂ« reduktohet ndjeshĂ«m vĂ«llimi i kodit dhe tĂ« thjeshtohet mbivendosja e sjelljes gjatĂ« punĂ«s me vetitĂ«, falĂ« lidhjes sĂ« njĂ« pĂ«rpunuesi tĂ« veçantĂ« me secilĂ«n veti. class User { public string $name { set { if (strlen($value) === 0) { throw new ValueError(«Name must be non-empty»); } $this->name = $value; } } public function __construct(string $name) { $this->name = $name; } }
- Tani lejohet specifikimi i referencave ndaj metodave në konstruktin «new» pa kllapat ndarëse, pra në vend të «$name = (new MyClass())->method()» tani mund të përdoret «$name = new MyClass()->method()».
- Në vend të parametrit të përgjithshëm «opcache.jit_buffer_size» për menaxhimin e JIT-kompiluesit dhe përcaktimin e madhësisë së buffer-it JIT, janë propozuar parametrat «opcache.jit» dhe «opcache.jit_buffer_size». Për të çaktivizuar JIT tani mund të përdoret «opcache.jit=disable» në vend të «opcache.jit_buffer_size=0». Gjithashtu, janë bërë ndryshime që ulin konsumin e memories dhe rrisin performancën e JIT në disa situata.
- ĂshtĂ« shpallur i vjetruar mekanizmi sipas tĂ« cilit pĂ«r parametrat e funksioneve me vlerĂ« tĂ« paracaktuar null lejohej automatikisht caktimi i vlerĂ«s null. QĂ« parametra tĂ« tillĂ« tĂ« mund tĂ« pranojnĂ« vlera null, tani kĂ«rkohet pĂ«rcaktimi i qartĂ« i prefiksit «?». PĂ«r shembull, nĂ« vend tĂ« «function save(Book $book = null) {}» duhet tĂ« pĂ«rdoret «function save(?Book $book = null) {}».
- ĂshtĂ« implementuar klasa \Dom\HTMLDocument, e cila mbĂ«shtet analizimin korrekt tĂ« markup-it HTML5.
- ĂshtĂ« shtuar funksioni request_parse_body() pĂ«r analizimin e kĂ«rkesave HTTP me llojin e pĂ«rmbajtjes multipart/form-data (RFC1867).
Burimi: opennet.ru
