Skip to main content

PHP 8.3 : Novità e innovazioni dell'ultima versione

PHP 8.3 è l’ultima versione minore del popolare linguaggio di scripting per il web, rilasciata il 23 novembre 2023. Questa versione introduce molte nuove funzionalità e miglioramenti che possono aiutare gli sviluppatori a scrivere codice più veloce, pulito e sicuro.

In questo articolo, vedremo le principali novità e i cambiamenti di PHP 8.3, tra cui:

  • Costanti di classe tipizzate
  • Una nuova funzione json_validate()
  • Deep cloning delle proprietà di readonly
  • Nuovo attributo #[\Override]
  • Recupero dinamico di costanti di classe e membri di enum
  • Nuovo metodo getBytesFromString()
  • Nuovi metodi getFloat() e nextFloat()

Vedremo anche quali funzioni e impostazioni sono state deprecate in PHP 8.3 e come prepararsi alla migrazione da PHP 8.2 a PHP 8.3.

Costanti di classe tipizzate

PHP 8.3 permette di dichiarare i tipi per le costanti di classe, interface, trait ed enum, riducendo la possibilità che gli sviluppatori si allontanino dall’intenzione che sta dietro alla dichiarazione iniziale di una costante.

Per esempio, possiamo dichiarare una costante di classe come stringa e assegnarle un valore di stringa:

PHP
 
class ConstTest {
  // Declared type and value are both strings
  const string VERSION = "PHP 8.3";
}

Se proviamo a cambiare il tipo o il valore della costante in una classe figlia, PHP 8.3 ci avviserà con un errore:

PHP
 
class MyConstTest extends ConstTest {
  // Illegal:
  // Type and value mismatch in this initial declaration
  const float VERSION = "PHP 8.3";
}

Questo ci aiuta a mantenere la coerenza e la compatibilità tra le classi che utilizzano le stesse costanti.

Una nuova funzione json_validate()

Quando si lavora con dati codificati in JSON, è utile sapere se il payload è sintatticamente valido prima di tentare di utilizzarlo. Nelle versioni precedenti di PHP, gli sviluppatori utilizzavano la funzione json_decode() per verificare la presenza di errori durante i tentativi di trasformare i dati JSON in array associativi o oggetti.

La nuova funzione di PHP 8.3 json_validate() esegue il controllo degli errori senza utilizzare tutta la memoria necessaria per costruire queste strutture di array o oggetti.

Questi sono solo alcuni dei miglioramenti apportati da PHP 8.3. Ricordate di verificare sempre la compatibilità delle vostre applicazioni esistenti prima di effettuare l’aggiornamento a PHP 8.3.