Nuova versione PHP 8.2

Postato in data 20 Aprile 2023 da Riccardo Esposito

PHP 8.2 è nella sua fase effettiva, fermo già dal 19 luglio 2022. Ciò significa che non dovrebbero esserci novità per chi vuole può scaricare, utilizzare e sfruttare questa soluzione. La versione PHP 8 è ormai pienamente sfruttata da chi cerca un sito web performante.

PHP 8.2

Aggiornare PHP è importante per le pagine web veloci ma come sempre è utile avere come riferimento qualche indicazione in più rispetto a cosa ci aspetta. Cosa sapere in più su questa release? In primo luogo devi comprendere che le performance sono migliori, e che ci sono diverse novità.

Prestazioni superiori con PHP 8.2

Ci sono molte modifiche da enumerare ma una delle più interessanti è che da PHP 8.1 abbiamo una nuova classe di riferimento per ottenere maggior velocità e reattività dai nostri siti web. La soluzione, grazie ai diversi miglioramenti che vedremo in seguito, ha portato a un miglioramento delle performance.

Il team PHP ha rilasciato PHP 8.2.0 l’8 dicembre 2022. Questa versione contiene molte nuove funzionalità come classi di sola lettura, tipi Disjunctive Normal Form (DNF), nuova estensione Random.

Quindi è stato utilizzato Zend/bench.php per fare un confronto dei tempi tra le diverse versioni di PHP. Ecco il risultato: PHP 8.2.0 è il più veloce con 0,200 secondi e PHP 7.4.33 è il più lento con 0,232 secondi.

I risultati mostrano che il miglioramento delle prestazioni di PHP 8.2 è piuttosto significativo (15%) rispetto a PHP 7.4.33. Ovviamente questo è solo uno degli ingredienti necessari per avere un sito web performante. Ma non è l’unico, bisogna lavorare anche con un hosting di qualità.

prestazioni PHP 8.2

Da parte di Serverplan seguirà sempre un costante aggiornamento dell’infrastruttura per avere un hosting performante e con la migliore versione di PHP. Ecco perché questa soluzione di PHP è già disponibile su tutti gli hosting condivisi, VPS Hosting, Cloud Server e Server Dedicati.

Nuove classi readonly con PHP 8.2

Con PHP 8.2 c’è il supporto per le nuove classi readonly, vale a dire la possibilità di implementare una vecchia soluzione già proposta da PHP 8.1. Nello specifico, prima la funzione readonly era solo per le proprietà delle classi. PHP 8.2 aggiunge la possibilità di dichiarare l’intera classe come tale.

class BlogData
{
    public readonly string $title;

    public readonly Status $status;

    public function __construct(string $title, Status $status)
    {
        $this->title = $title;
        $this->status = $status;
    }
}

Ecco come era prima dell’aggiornamento preso in esame. Con questa novità tutto viene semplificato e velocizzato. Ecco come appare lo stesso codice nella versione PHP 8.2. Ricorda che, come per tutte le altre, la parola chiave readonly non fa distinzione tra maiuscole e minuscole.

readonly class BlogData
{
    public string $title;

    public Status $status;

    public function __construct(string $title, Status $status)
    {
        $this->title = $title;
        $this->status = $status;
    }
}

Ricordiamo che tra le novità di PHP 8.1 c’era fibers, la soluzione di PHP per funzionare in modo asincrono e interrompersi in alcuni punti senza interferire con l’intera struttura. L’elemento compreso in fibers può essere avviato, sospeso o terminato in modo indipendente.

Miglioramento dell’estensione random

L’estensione random ha una nuova API orientata agli oggetti per la generazione di numeri casuali. Questa soluzione fornisce diverse classi con l’accesso ad algoritmi moderni che memorizzano il loro stato all’interno di oggetti per consentire più sequenze indipendenti.

Da leggere: tutte le novità di WordPress

Null, false e true come tipi autonomi

PHP 8.2 approva e permette l’uso di false e null come tipi autonomi a favore di una maggior completezza. In quest’ottica viene aggiunto anche il supporto per l’utilizzo true come dichiarazione di tipo, ovunque siano consentite. Il true non permette coercizioni, proprio come si comporta attualmente il false. Si può utilizzare un esempio di codice preso dal comunicato stampa ufficiale per capire come cambia PHP 8.2.

Null, false e true come tipi autonomi

Tipi di Disjunctive Normal Form (DNF)

Ci sono diverse ottimizzazioni che riguardano PHP 8.2. Tra le più interessanti è quella che riguarda il Disjunctive Normal Form (DNF). Ovvero modo per organizzare le espressioni booleane. Nello specifico, significa strutturare un’espressione booleana in una serie OR di AND. I tipi DNF ci consentono di combinare unione e intersezione seguendo una regola rigida: quando si combinano, le intersezione devono essere raggruppati con parentesi.

Cosa è stato deprecato su PHP 8.2

Oltre a diverse migliorie per le prestazioni abbiamo anche degli elementi che ci abbandonano. Ad esempio, sono state deprecate le funzioni utf8_encode e utf8_decode. Lo stesso vale per i callables parzialmente supportati e il metodo interno SplFileInfo::_bad_state_ex.

Clicca per votare questo articolo!
[Voti totali: 0 Media: 0]
Riccardo Esposito
Tag: php

Discussione

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *