Junior
Ce sunt funcțiile anonime?
sobes.tech AI
Răspuns de la AI
O funcție anonimă (sau Closure) este o funcție fără nume. Poate fi stocată într-o variabilă și transmisă ca argument către alte funcții.
Caracteristici principale:
- Fără nume.
- Poate fi atribuită unei variabile.
- Poate fi transmisă ca parametru către o altă funcție (callback).
- Poate utiliza variabile din domeniul părinte prin construcția
use.
Exemplu de utilizare:
<?php
// Atribuirea unei funcții anonime unei variabile
$greet = function($name)
{
printf("Salut, %s!\n", $name);
};
$greet('Lume'); // Apelarea funcției anonime
// Utilizare ca callback
$numbers = [1, 2, 3, 4, 5];
$doubled = array_map(function($n) {
return $n * 2;
}, $numbers);
print_r($doubled);
// Utilizarea variabilelor din domeniul părinte prin use
$message = 'Salut';
$example = function () use ($message) {
echo $message;
};
$example();
Avantajele funcțiilor anonime:
- Util pentru funcții scurte și de unică folosință.
- Adesea folosite cu funcții de ordin superior (de exemplu,
array_map,usort). - Permite crearea de closures.
Dezavantaje:
- Pot fi mai greu de citit pentru funcții complexe.
- Debugging-ul poate fi puțin mai dificil din cauza lipsei unui nume.