Aprenda a criar e utilizar funções anônimas no PHP

Veja como criar funções anônimas no PHP para uso em callbacks, closures e programação funcional.

Como criar funções anônimas no PHP

Funções anônimas no PHP, também chamadas de closures, são funções que não possuem um nome definido e podem ser atribuídas a variáveis, passadas como argumentos e usadas dinamicamente no código.

Criando uma função anônima

<?php
$saudacao = function($nome) {
    return "Olá, $nome!";
};

echo $saudacao("Carlos");
?>

Aqui, a função anônima é armazenada na variável $saudacao e pode ser chamada como qualquer outra função.

Utilizando funções anônimas em callbacks

Funções anônimas são frequentemente usadas como callbacks, especialmente em funções como array_map():

<?php
$numeros = [1, 2, 3, 4];
$dobrados = array_map(function($n) {
    return $n * 2;
}, $numeros);
print_r($dobrados);
?>

Este código dobra os valores do array usando uma função anônima dentro de array_map().

Usando closures com use

Closures podem capturar variáveis externas utilizando use:

<?php
$multiplicador = 3;
$multiplica = function($numero) use ($multiplicador) {
    return $numero * $multiplicador;
};
echo $multiplica(5);
?>

Aqui, a variável $multiplicador é utilizada dentro da função anônima, permitindo acesso a valores externos ao seu escopo.

Funções anônimas são extremamente úteis para simplificar o código e melhorar a organização em projetos PHP. Elas permitem criar blocos de código reutilizáveis sem a necessidade de nomeá-los explicitamente. Além disso, seu uso em closures e callbacks facilita a implementação de padrões funcionais dentro do PHP, tornando o código mais modular e expressivo.

Algumas aplicações:

  • Criação de callbacks para funções como array_map() e array_filter()
  • Definição de funções temporárias dentro de métodos
  • Utilização de closures para acessar variáveis externas
  • Facilitação da programação funcional e modularização do código

Dicas para quem está começando

  • Use funções anônimas quando precisar de um callback rápido sem criar uma função separada.
  • Lembre-se de usar use se precisar acessar variáveis externas dentro da função.
  • Funções anônimas podem ser atribuídas a variáveis e chamadas normalmente.
  • Para organizar melhor seu código, prefira funções nomeadas quando elas forem reutilizadas várias vezes.
  • Utilize array_map(), array_filter() e array_reduce() com funções anônimas para manipular arrays de maneira eficiente.

Contribuições de Daniel Moreira

Compartilhe este tutorial: Como criar funções anônimas no PHP?

Compartilhe este tutorial

Continue aprendendo:

Como retornar valores de funções no PHP?

Veja como utilizar a instrução return no PHP para retornar valores de funções e melhorar a reutilização do código.

Tutorial anterior

Como usar recursão em funções PHP?

Veja como utilizar recursão em funções PHP para resolver problemas que envolvem chamadas repetitivas sem a necessidade de loops convencionais.

Próximo tutorial