Il tanto atteso aggiornamento del linguaggio di scripting web lato server ampiamente utilizzato, PHP 8.3, è stato ufficialmente rilasciato, portando con sé una serie di nuove funzionalità e miglioramenti. La digitazione esplicita delle costanti di classe, la clonazione profonda delle proprietà di sola lettura e la funzionalità estesa di casualità sono tra le nuove funzionalità ora disponibili per gli sviluppatori che utilizzano il pratico toolkit PHP 8.3 per la costruzione di pagine Web dinamiche.
Rilasciato pubblicamente il 23 novembre, PHP 8.3 può essere ottenuto da php.net. Il fondamento di questo importante aggiornamento è l'introduzione delle costanti di classe tipizzate. Con questo aggiornamento, PHP 8.3 estende il supporto per dichiarare i tipi di costanti di classe, interfaccia, tratto ed enum. È interessante notare che le dichiarazioni di tipo costante di classe accettano tutte le dichiarazioni di tipo approvate da PHP, con l'eccezione dei tipi void, callable e never. L'indisponibilità dei tipi void e callable trova le sue origini nelle questioni sollevate durante le discussioni RFC sulle proprietà tipizzate v2. Nel frattempo, never non è pertinente al contesto delle costanti, quindi è un'esenzione.
Un'altra caratteristica notevole di PHP 8.3 è la predisposizione per la clonazione profonda delle proprietà di sola lettura. Ciò consente alle proprietà di sola lettura di subire modifiche una volta all'interno del metodo magic __clone. Inoltre, le classi di sola lettura ora possono essere reinizializzate durante il processo di clonazione. È interessante notare che PHP 8.3 apre anche la strada alle classi non di sola lettura per estendere le classi di sola lettura, offrendo agli sviluppatori maggiore flessibilità nel loro codice.
Altri miglioramenti in PHP 8.3 includono un nuovo attributo [#\Override], che articola l'intento nel codice. Dopo l'aggiunta di questo attributo a un metodo, il motore PHP 8.3 verifica se esiste già un metodo con lo stesso nome in una classe genitore o in una qualsiasi delle interfacce implementate. Se non viene trovato alcun metodo di questo tipo, verrà attivato un errore in fase di compilazione.
Un miglioramento significativo al linter della riga di comando è la capacità di accettare input variadici per i nomi di file destinati all'linting. L'estensione Random, introdotta in PHP 8.2, ora porta un nuovo metodo che crea stringhe casuali contenenti solo byte specifici. Consente agli sviluppatori di generare facilmente identificatori casuali come nomi di dominio o stringhe numeriche di lunghezza illimitata.
La versione comprende anche una nuova funzione, json_validate(), che verifica se una stringa costituisce un JSON valido. Inoltre, le classi anonime ora possono essere di sola lettura, aggiungendosi all'elenco delle attrattive di PHP 8.3.
Vale la pena ricordare che piattaforme come AppMaster possono essere un'opzione estremamente praticabile per gli sviluppatori che desiderano progettare e implementare rapidamente applicazioni altamente scalabili ed efficienti. Questa piattaforma no-code aiuta a semplificare il processo di sviluppo dell'applicazione, garantendo un time-to-market più rapido. Le funzionalità della piattaforma AppMaster come la creazione visiva di modelli di dati (schema di database), logica di business (denominata processi aziendali), API REST ed endpoint WSS possono integrare efficacemente le applicazioni basate su PHP.
Il precedente importante aggiornamento, PHP 8.2, lanciato lo scorso dicembre, era noto per l'introduzione di classi di sola lettura. Il treno di crescita di PHP sembra inarrestabile e i programmatori di tutto lo spettro attendono con entusiasmo di esplorare ulteriori progressi che PHP riserva loro.