È iniziato il test alpha di PHP 8.4

È stato presentato il primo rilascio alfa della nuova serie del linguaggio di programmazione PHP 8.4. Il rilascio è previsto per il 21 novembre. Le principali novità, già disponibili per i test o pianificate per l'implementazione in PHP 8.4:

  • È stata aggiunta la supporto per i gestori di proprietà (property hook), che consentono di aggiungere logica aggiuntiva eseguita durante la modifica o l'accesso alle proprietà di un oggetto, implementata senza interrompere le operazioni di lettura e scrittura tramite le funzioni comuni __get e __set e senza creare ulteriori metodi di wrap. L'uso dei gestori di proprietà consente di ridurre notevolmente il volume di codice e semplificare la ridefinizione del comportamento della gestione delle proprietà, grazie all'associazione del proprio gestore a ciascuna proprietà. class User { public string $name { set { if (strlen($value) === 0) { throw new ValueError(«Il nome deve essere non vuoto»); } $this->name = $value; } } public function __construct(string $name) { $this->name = $name; } }
  • È consentito specificare riferimenti a metodi nella costruzione «new» senza parentesi separative, ovvero invece di «$name = (new MyClass())->$method()» ora si può scrivere «$name = new MyClass()->method()».
  • Invece del parametro generale «opcache.jit_buffer_size» per gestire il compilatore JIT e configurare la dimensione del buffer JIT, sono stati proposti i parametri «opcache.jit» e «opcache.jit_buffer_size». Per disabilitare il JIT, ora è possibile specificare «opcache.jit=disable» invece di «opcache.jit_buffer_size=0». Inoltre, sono state apportate modifiche che riducono il consumo di memoria e migliorano le prestazioni del JIT in alcune situazioni.
  • È stato dichiarato obsoleto il comportamento secondo cui per i parametri delle funzioni con un valore predefinito assegnato a null era consentito automaticamente l'assegnazione di valori null. Affinché tali parametri possano accettare valori null, è ora richiesta l'indicazione esplicita del prefisso «?». Ad esempio, invece di «function save(Book $book = null) {}», si dovrebbe specificare «function save(?Book $book = null) {}».
  • È stata implementata la classe \Dom\HTMLDocument, che supporta l'analisi corretta del markup HTML5.
  • È stata aggiunta la funzione request_parse_body() per analizzare le richieste HTTP con tipo di contenuto multipart/form-data (RFC1867).

Fonte: opennet.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster