Sobes.tech
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.