FUNçõES ANôNIMAS EM PHP

Introdução

Não é novidade para ninguém que foram incluídos no PHP 5.3 alguns recursos novos que a tornam uma linguagem melhor e mais completa.

A novidade é que eu irei publicar aqui a partir deste post, exemplos de como escrever código PHP usando estas funcionalidades.

Minha idéia é de escrever posts curtos e direto ao ponto.

As funções anônimas, também conhecidas como closures e lambda functions são funcionalidades que são definidas sem que elas possuam um nome que as identifica e normalmente são usadas para definirmos funções que não serão utilizadas em nenhum outro local, apenas naquele momento específico.

Como eu uso isso?

Normalmente quando escrevemos uma função, nós declaramos o nome dela e assim sabemos como identifica-la na hora em que precisamos usa-la.

Exemplo:

O exemplo acima demonstra a maneira convencional que declaramos e usamos as funções em PHP, abaixo eu mostrarei alguns exemplos de uso das funções anônimas.

O próximo exemplo é a declaração e uso de uma função semelhante à declarada no exemplo anterior, porém, na forma de função anônima:

Como você pôde observar, a função não recebe um nome quando é declarada e sim ela é atribuída a uma variável comum PHP.

Nós podemos utilizar nestas funções as variáveis declaradas fora de seu escopo, para isso nós devemos importar as variáveis por meio do comando use.
Exemplo:

É possível usar variáveis passadas como referência. O exemplo anterior será modificado para ilustrar a funcionalidade:

Faça o teste e veja que se o operador de referência(&) for removido, a variável $sobrenome não é modificada fora do escopo da função.

As closures podem ser muito bem aproveitadas em conjunto com funções nativas do PHP que necessitam de uma função de callback, como a função array_map que será a função usada em meu exemplo. Veja:

O código acima exemplifica o que falei anteriormente a respeito de declarar funções que não serão usadas em mais nenhum lugar.

Usando isso em objetos

Esta funcionalidade também pode ser usada no paradigma POO e o conceito é exatamente o mesmo, basta preparar o seu método para receber uma função desta como parâmetro. Exemplo:

Conclusão

Este é mais um recurso que o PHP oferece para torna-lo mais ágil e eficiente.

Os exemplos que eu apresentei já servem como ponto de partida para estudos mais aprofundados e eu espero que ele tenha sido útil para você.

Se você já usou este recurso em situações diferentes das que eu apresentei, deixe seu comentário.

Abraços.

Adler Medrado – http://adlermedrado.com.br

2 ideias sobre “Funções Anônimas em PHP

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *