Junior
Czym są funkcje anonimowe?
sobes.tech AI
Odpowiedź od AI
Funkcja anonimowa (lub Closure) to funkcja bez nazwy. Może być przechowywana w zmiennej i przekazywana jako argument do innych funkcji.
Główne cechy:
- Brak nazwy.
- Może być przypisana do zmiennej.
- Może być przekazana jako parametr do innej funkcji (callback).
- Może korzystać ze zmiennych z zakresu nadrzędnego za pomocą konstrukcji
use.
Przykład użycia:
<?php
// Przypisanie funkcji anonimowej do zmiennej
$greet = function($name)
{
printf("Cześć, %s!\n", $name);
};
$greet('Świecie'); // Wywołanie funkcji anonimowej
// Użycie jako callback
$numbers = [1, 2, 3, 4, 5];
$doubled = array_map(function($n) {
return $n * 2;
}, $numbers);
print_r($doubled);
// Użycie zmiennych z zakresu nadrzędnego za pomocą use
$message = 'Cześć';
$example = function () use ($message) {
echo $message;
};
$example();
Zalety funkcji anonimowych:
- Przydatne do krótkich, jednorazowych funkcji.
- Często używane z funkcjami wyższego rzędu (np.
array_map,usort). - Pozwalają na tworzenie zamknięć.
Wady:
- Mogą być mniej czytelne dla funkcji złożonych.
- Debugowanie może być nieco trudniejsze z powodu braku nazwy.