Sobes.tech
Junior

O que são funções anónimas?

sobes.tech IA

Resposta da IA

Uma função anónima (ou Closure) é uma função sem nome. Pode ser armazenada numa variável e passada como argumento para outras funções.

Principais características:

  • Sem nome.
  • Pode ser atribuída a uma variável.
  • Pode ser passada como parâmetro para outra função (callback).
  • Pode usar variáveis do âmbito pai através da construção use.

Exemplo de uso:

<?php
// Atribuição de uma função anónima a uma variável
$greet = function($name)
{
    printf("Olá, %s!\n", $name);
};

$greet('Mundo'); // Chamada da função anónima

// Uso como callback
$numbers = [1, 2, 3, 4, 5];
$doubled = array_map(function($n) {
    return $n * 2;
}, $numbers);

print_r($doubled);

// Uso de variáveis do âmbito pai via use
$message = 'Olá';
$example = function () use ($message) {
    echo $message;
};
$example();

Vantagens das funções anónimas:

  • Úteis para funções curtas e de uso único.
  • Frequentemente usadas com funções de ordem superior (por exemplo, array_map, usort).
  • Permitem criar closures.

Desvantagens:

  • Podem ser menos legíveis para funções complexas.
  • A depuração pode ser um pouco mais difícil devido à ausência de nome.