Wraz z pojawieniem się PHP 7.4 (o czym pisałem swego czasu na moim blogu), do języka została wprowadzona nowa, bardziej zwięzła składnia do tworzenia funkcji anonimowych — tzw. funkcje strzałkowe (arrow functions), oznaczane słowem kluczowym fn.
Dla osób, które dopiero zaczynają przygodę z PHP — warto wyjaśnić, że funkcje anonimowe to takie, które nie mają nazwy i mogą być przypisane do zmiennych, przekazywane jako argumenty itd. Funkcja fn to ich uproszczona wersja, idealna do krótkich operacji.
Składnia funkcji fn php
fn(argumenty) => wyażenie;
Funkcja fn automatycznie zwraca wynik wyrażenia po =>. Nie trzeba więc pisać return.
Przykład: Prosta operacja matematyczna
$double = fn($x) => $x * 2; echo $double(4); // wynik: 8
To dokładnie to samo co:
$double = function($x) { return $x * 2; };
Przykład: Użycie fn z array_map
$numbers = [1, 2, 3, 4]; $doubled = array_map(fn($n) => $n * 2, $numbers); print_r($doubled); // [2, 4, 6, 8]
Funkcje strzałkowe świetnie sprawdzają się w połączeniu z funkcjami wyższego rzędu (np. array_map, array_filter itd.).
Ważna różnica — kontekst use
Warte zapamiętania jest to, że tradycyjne funkcje anonimowe wymagają use
, jeśli chcemy używać zmiennych spoza funkcji:
$factor = 3; $multiply = function($x) use ($factor) { return $x * $factor; };
Funkcje fn automatycznie dziedziczą zmienne z zewnętrznego kontekstu — use
nie jest potrzebne:
$factor = 3; $multiply = fn($x) => $x * $factor;
✅ Kiedy używać fn?
- Gdy funkcja jest krótka i robi jedną rzecz.
- Gdy chcesz bardziej czytelny i zwięzły kod.
- Gdy używasz funkcji w miejscach takich jak array_map, array_filter, usort itd.
Funkcja fn to krok w stronę nowoczesnego PHP, który pozwala pisać bardziej wyrazisty, zwięzły i funkcyjny kod. To niewielka zmiana w składni, ale z dużym wpływem na czytelność i styl programowania. Napisz w komentarzu do czego wykorzystujesz w swoich projektach fn.
Nikt jeszcze nie komentował. Bądź pierwszy!