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()earray_last(): finalmente funzioni native per prendere il primo e ultimo elemento di un array, senza giri strani conarray_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 vecchiaparse_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.


Mastodon
Telegram
Bluesky
Lascia un commento