PHP 8.0 ha raggiunto il suo fine vita (EOL) il 26 novembre 2023 e non riceverà più aggiornamenti o patch.
PHP 8.0 è stato rilasciato il 26 novembre 2020 e ha apportato molte nuove funzionalità e miglioramenti, come gli argomenti denominati, gli attributi, la promozione della proprietà del costruttore, l’espressione match, l’operatore nullsafe, il JIT e altro ancora.
L’EOL di PHP 8.0 significa che i siti web che ancora lo utilizzano saranno esposti a potenziali rischi per la sicurezza e a problemi di compatibilità se non si aggiornano a una versione PHP più recente.
I rischi per la sicurezza includono le vulnerabilità che gli hacker potrebbero sfruttare per compromettere il sito web o i suoi dati. I problemi di compatibilità includono errori o malfunzionamenti che possono verificarsi a causa di cambiamenti nel linguaggio PHP o nel software del server web sottostante.
Secondo W3Techs, una versione di PHP 8 è utilizzata dal 19,9% di tutti i siti web che utilizzano PHP e di cui conoscono il linguaggio di programmazione lato server. Di questi, il 45,8% utilizza specificamente PHP 8.0.
PHP 8 è la seconda versione PHP più popolare dopo la 7, che è ancora utilizzata da circa il 61,5% dei siti web conosciuti. PHP 7.4 ha raggiunto l’EOL il 28 novembre 2022.
Tutti gli sviluppatori che utilizzano una versione di PHP precedente alla 8.1 dovrebbero aggiornarla. L’ultima versione, PHP 8.3, è stata rilasciata il 23 novembre 2023 e riceverà supporto attivo fino al 2025 e supporto di sicurezza fino al 2026.
Le nuove caratteristiche e modifiche di PHP 8.3 includono:
- Costanti di classe tipizzate: È ora possibile dichiarare esplicitamente il tipo di una costante di classe, invece di affidarsi al valore dedotto. Questo può aiutare a prevenire gli errori e a migliorare la leggibilità.
- Supporto per il recupero dinamico di costanti di classe e membri di enum: È ora possibile usare una variabile per accedere a una costante di classe o a un membro di enum, invece di usare la funzione constant(). Questo può rendere il codice più conciso ed espressivo.
- Funzione json_validate(): È ora possibile utilizzare questa funzione per verificare se una stringa è un formato JSON valido, senza decodificarla. Può essere utile per convalidare l’input o l’output JSON.
Aggiunte all’estensione Random: L’estensione random è stata migliorata con nuovi metodi e classi, come Randomizer::getBytesFromString(), Randomizer::getFloat() e Randomizer::nextFloat(). Questi possono aiutare a generare byte, float e interi casuali con maggiore flessibilità e controllo. - Aggiunta di mb_str_pad(): È ora possibile usare questa funzione per riempire una stringa multibyte di una certa lunghezza con un’altra stringa. Ciò può essere utile per formattare o allineare il testo multibyte.
- Aggiunta dell’attributo #[\Override]: È ora possibile utilizzare questo attributo per contrassegnare un metodo che sovrascrive un metodo genitore o un metodo di interfaccia. Questo può aiutare a evitare errori di battitura e a rendere il codice più chiaro e coerente.
- Clonazione profonda delle proprietà readonly: È ora possibile modificare le proprietà readonly una volta all’interno del metodo __clone(), per consentire la clonazione profonda degli oggetti readonly. Questo può aiutare a creare copie di oggetti con uno stato complesso.
L’aggiornamento a PHP 8.3 non è solo una questione di sicurezza e compatibilità, ma anche di prestazioni e innovazione. PHP 8.3 è più veloce, più affidabile e più espressivo e consente agli sviluppatori di scrivere codice più pulito ed efficiente.
I siti web che utilizzano PHP 8.0 o versioni precedenti dovrebbero effettuare l’aggiornamento il prima possibile per evitare potenziali problemi e godere dei vantaggi dell’ultima versione.