Publicidade cabeçário

quarta-feira, 13 de fevereiro de 2013

PHP - Funções Anônimas e Closures

     Funções anônimas são aquelas em que não é necessário nomeá-las. São diferentes das convencionais, que precisam de nomes para posteriormente serem "chamadas". A ideia aqui é a seguinte: essas funções não tem nome porque não são apontadas, seu uso é como parâmetro para outra função, método ou até mesmo uma variável.
     Elas são muito utilizadas em callback, mas podem ter vários tipos de usos. 
Funções anônimas foram introduzidas a partir do PHP 5.3
Funções anônimas foram introduzidas a partir do PHP 5.3
fonte da imagem: iteroidigital-rj.blogspot.com 

A sintaxe das funções anônimas é bem simples:


$variável = function ( parâmetros ) {

    <comando>

};

É preciso se atentar ao uso do ; (ponto e vírgula) depois das chaves, uma diferença a mais das funções convencionais. 
Diferenças entre funções convencionais e funções anônimas
Diferenças entre funções convencionais e funções anônimas
fonte da imagem: bdfatec.blogspot.com.br
observações:

  • 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;
  • Funções anônimas são mais rápidas do que as convencionais;

Funções Closure
Não deixam de ser funções anônimas, com a diferença de serem mais complexas que as anônimas comuns. Ele permite a interação com variáveis declaradas fora de seu escopo, utilizando-se para isso o comando use para importá-las.
A sintaxe das funções anônimas Closure é:


$variável = function ( parâmetros) use ( variáveis externas ) {
    <comando>
};

Exemplos de funções Closure:
Uso da função Closure
fonte da imagem: bdfatec.blogspot.com.br
para saber mais sobre funções:
clique aqui ==> Funções criadas por programadores


fonte: < Funções Anônimas >
           < Funções Anônimas
           < Funções Anônimas - Lambda e Closure em php
           < Funções Anônimas em php
adaptado: arroyo, gabriel

Gostou do blog? Então segue =D 
Gostou da postagem? Então comenta ;DDD 

Fique por dentro das atualizações 



Nenhum comentário:

Postar um comentário