Salta al contenuto principale
PHP

Guida Completa alle Funzioni Arrow in PHP 8

Scopri come le arrow functions di PHP 8 possono semplificare il tuo codice e renderlo più leggibile.

Giovanni D'Ippolito
2 min

Autore

Giovanni D'Ippolito

Pubblicato

01 November 2025

Tempo di lettura

2 minuti

Tags

#PHP 8 #Arrow Functions #Programmazione Funzionale

Introduzione alle Arrow Functions

PHP 8 ha introdotto le arrow functions, una sintassi più concisa per scrivere funzioni anonime che catturano automaticamente le variabili dal contesto esterno.

Questo articolo presuppone che tu abbia familiarità con le funzioni anonime classiche di PHP.

Sintassi Tradizionale vs Arrow Function

Ecco un confronto tra la sintassi tradizionale e le nuove arrow functions:

<?php
// Sintassi tradizionale
$multiplier = 5;
$traditionalFn = function($number) use ($multiplier) {
    return $number * $multiplier;
};

// Arrow function
$arrowFn = fn($number) => $number * $multiplier;

echo $traditionalFn(10); // 50
echo $arrowFn(10);       // 50
?>

Vantaggi delle Arrow Functions

  • Sintassi concisa: Meno codice da scrivere
  • Cattura automatica: Non serve use
  • Leggibilità: Codice più pulito e comprensibile

Esempi Pratici

Le arrow functions sono particolarmente utili con le funzioni array come array_map, array_filter e array_reduce:

<?php
$numbers = [1, 2, 3, 4, 5];
$multiplier = 2;

// Con arrow function
$doubled = array_map(fn($n) => $n * $multiplier, $numbers);

// Filtraggio avanzato
$prices = [10, 25, 50, 75, 100];
$tax = 0.22;
$withTax = array_map(fn($price) => $price * (1 + $tax), $prices);

print_r($withTax);
?>
Le arrow functions migliorano significativamente la leggibilità del codice funzionale in PHP!

Limitazioni da Conoscere

Le arrow functions possono contenere solo una singola espressione. Per logica più complessa, usa le funzioni anonime tradizionali.
<?php
// Questo NON funziona
$wrong = fn($x) => {
    $result = $x * 2;
    return $result + 1;
};

// Usa una funzione anonima tradizionale invece
$correct = function($x) {
    $result = $x * 2;
    return $result + 1;
};
?>

Condividi questo articolo

Articoli Correlati

PHP

PHP 8.2: Readonly Classes e Type System Migliorato

Esplora le nuove funzionalità di PHP 8.2 che rendono il codice più sicuro e manutenibile.

09 Nov 2025 2 min
Leggi di più →
PHP

PHP Enums: Type-Safe Constants per il Tuo Codice

Scopri come usare gli Enums di PHP 8.1 per rendere il tuo codice più sicuro e espressivo.

17 Nov 2025 3 min
Leggi di più →
PHP

PHP Attributes: Metaprogramming Moderno

Scopri come usare gli Attributes di PHP 8 per aggiungere metadata al tuo codice.

25 Nov 2025 1 min
Leggi di più →

Rimani Aggiornato

Iscriviti alla nostra newsletter per ricevere gli ultimi articoli e novità direttamente nella tua casella di posta.