Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

PHP 8.3: le principali novità

PHP 8.3: tutte le novità più importanti dell'ultima versione del linguaggio di sviluppo server side più utilizzato in Rete
PHP 8.3: le principali novità
PHP 8.3: tutte le novità più importanti dell'ultima versione del linguaggio di sviluppo server side più utilizzato in Rete
Link copiato negli appunti

Nelle scorse ore gli sviluppatori del linguaggio di scripting server side più utilizzato in rete hanno rilasciato PHP 8.3.. Questa nuova versione presenta diverse nuove feature e anticipa in parte la fine del ciclo di vita di PHP 8 il cui supporto attivo è terminato lo scorso anno. Quello relativo agli aggiornamenti di sicurezza terminerà invece il 26 novembre 2023. Per quanto riguarda l'ultima release, essa riceverà supporto attivo fino a novembre 2025, mentre non verranno più effettuati interventi riguardanti la sicurezza da novembre 2026.

Ma veniamo a quelle che sono le principali novità per chi ha fatto del codice (PHP) il proprio mestiere.

Typed class constants

PHP 8.3 consente di tipizzare una costante dichiarata in una classe, un'interfaccia o un trait. Tale funzionalità è stata integrata come risultato di un impegno continuo nel sistema di tipizzazione del linguaggio. Fino a PHP 8.2 non era possibile dichiarare i tipi delle costanti di classe, cosa che rendeva abbastanza complicato operare con essi.

Si passa quindi da:

interface I {
    const PROVA = "Prova";
}

dove si doveva dare per scontato che la costante PROVA fosse una stringa, a:

interface I {
    const string PROVA = E::PROVA;
}

Dove la costante è esplicitamente una stringa.

Attributo #[Override]

Esso ha il compito di verificare che un metodo contrassegnato da un attributo abbia effettivamente un metodo parent che sia stato sovrascritto. Il vantaggio in questo caso risiede nel fatto che si ha una protezione contro comuni errori di digitazione e nei caso in cui un metodo parent sia stato eliminato.

Fetching dinamico delle costanti di classe

Prima della versione più recente l'uso della funzione constant() era l'unico modo disponibile per il fetching dinamico del valore di una costante di classe. Con PHP 8.3 è invece possibile utilizzare un'espressione di questo genere:

class Development {
    const LINGUAGGIO = 'PHP';
}
$linguaggio = 'LINGUAGGIO';
echo Development::{$linguaggio};

Lo stesso codice avrebbe restituito un errore (syntax error, unexpected token..) in PHP 8.2.

La funzione json_validate()

Con il rilascio di PHP 8.3 è possibile eseguire la validazione JSON in questo modo:

json_validate('{"linguaggio": "PHP"}');

In precedenza la stessa operazione era possibile soltanto configurando il flag JSON_THROW_ON_ERROR, tramite json_last_error o ricercando il non valore null in una chiamata alla funzione json_decode(). Tale procedura è ancora possibile ma ora si ha disposizione un'alternativa più immediata.

Ti consigliamo anche