È arrivato PHP 8.5: pipe operator e altre novità da tenere d'occhio

È arrivato PHP 8.5: pipe operator e altre novità da tenere d’occhio

Il 20 novembre è uscito PHP 8.5 e porta con sé alcune aggiunte interessanti, niente di rivoluzionario come le enumerazioni di PHP 8.1, ma parecchie funzionalità che semplificheranno la vita quotidiana di chi sviluppa. Ecco le più interessanti.

Il pipe operator: finalmente

La novità che farà più rumore è sicuramente il pipe operator (|>). Invece di annidare chiamate a funzione in modo sempre più illeggibile, ora è possibile incatenarle in modo lineare:

$output = $input 
    |> trim(...) 
    |> str_replace(' ', '-', $$) 
    |> strtolower(...);

Chi viene da linguaggi funzionali come Elixir o F# si sentirà a casa. Per gli altri, è comunque un bel salto in avanti in termini di leggibilità.

Clone with: clonare oggetti con modifiche al volo

Altra aggiunta comoda: ora è possibile clonare un oggetto assegnando nuovi valori direttamente durante la clonazione, senza dover creare metodi with*() espliciti ogni volta. Utile soprattutto con oggetti immutabili e value objects.

Le piccole cose che fanno la differenza

Ci sono poi una serie di migliorie più piccole ma ugualmente apprezzabili:

  • array_first() e array_last(): finalmente funzioni native per prendere il primo e ultimo elemento di un array, senza giri strani con array_key_first()
  • Backtraces nei fatal error: gli errori fatali ora mostrano lo stack trace completo, rendendo il debug molto più semplice
  • Nuova classe Uri\Rfc3986\Uri: un parser URI moderno che sostituisce la vecchia parse_url()
  • #[NoDiscard]: un attributo per forzare l’uso del return value di una funzione, con warning se viene ignorato
  • Closure nelle costanti: ora puoi usare closure all’interno di attributi, aprendo scenari interessanti per configurazioni dinamiche

Deprecazioni da tenere presenti

Come sempre, ci sono anche deprecazioni. Le più rilevanti: gli alias di shell_exec() sono fuori così come i cast non standard tipo (boolean) invece di (bool).

Il changelog completo lo trovate su GitHub, ma queste sono principalmente le novità che davvero vale la pena esplorare. Se state già usando PHP 8.4, l’upgrade non dovrebbe creare particolari problemi.

FONTE php.net

Spargi la voce

Fiuta le novità (seguimi 🐾)

YOOTA
YOOTA
@yoota@yoota.it

Fiuto per le tech news

95 articoli
4 follower

Lascia un commento

Puoi lasciare solo commenti senza iscrizione che verranno preventivamente moderati e il tuo indirizzo IP sarà anonimizzato.

Biscotti! Non vengono installati cookie di tracciamento né raccolti dati personali ma questo sito è federato con ActivityPub ⁂, visitandolo quindi potresti fare connessioni esterne ai server di Mastodon o altri software. Affiliazioni: Alcuni articoli potrebbero contenere link di affiliazione. Se acquisti tramite questi link, potremmo ricevere una piccola commissione.