Kromus Design
Olá!
Seja bem vindo ao Kromus. Nosso fórum é focado em design gráfico e web, porém, compartilhamos de todo tipo de arte, sem limites entre a arte tradicional e a digital. Esperamos que goste do fórum e faça parte de nossa família! :)
Kromus Design
Olá!
Seja bem vindo ao Kromus. Nosso fórum é focado em design gráfico e web, porém, compartilhamos de todo tipo de arte, sem limites entre a arte tradicional e a digital. Esperamos que goste do fórum e faça parte de nossa família! :)
Kromus Design

Um lar para os designers!


Você não está conectado. Conecte-se ou registre-se

Funções anônimas no PHP

Por favor, faça o login para responder

Ver o tópico anterior Ver o tópico seguinte Ir para baixo  Mensagem [Página 1 de 1]

#1Morzan 

Funções anônimas no PHP EmptyQui maio 05, 2011 5:14 pm

Morzan

Membro Comum
Membro Comum
Bom, estar ai um pequeno tutorial ensinando a utilizar funções anônimas no PHP.

O que diabos é uma função anônima?
Função anônima nada mais é que uma função que não tem nome.

Não tem nome? Como assim?
É uma função que você não declara do jeito convencional, por isso não tem nome.

Mas se ela não tem nome, como vou chamar-la? E qual a utilidade disso?
A questão é que você não vai chamar-la. Você vai simplesmente passar-la como parâmetro, para alguma outra função, método ou variável.
A vantagem disso é que você não precisa escolher um nome, e ela diminui o código e aumenta a legibilidade, em alguns casos.


Vamos tomar por exemplo, a seguinte função:

Código:
function ola_usuario($nome) {
    return strtoupper("Seja bem vindo {$nome}, como vai?");
}

$mensagem_boas_vindas = ola_usuario("matcher");


É um código funcional? Claro, é. Mas não é chato ter que criar uma função só para retornar essa mensagem? Não seria ótimo se tivesse um jeito mais fácil? Imagem

Mas tem sim, funções anônimas! O código não fica muito melhor escrito dessa forma?


Código:
$mensagem_boas_vindas = function($nome){
    return strtoupper("Seja bem vindo {$nome}, como vai?");
};



Como podem ver, não mudou muita coisa...só que nós passamos a declaração da função para a variável, e a função não tem nome, ou seja, só poderá ser chamada essa vez.

Um outro bom exemplo de uso de funções anônimas é quando você precisa passar uma função como callback para outra função:


Código:
echo preg_replace_callback('~-([a-z])~', function ($match) {
        return strtoupper($match[1]);
}, 'ola-nfx'); //produz "olanfx"


Como sabem. a função preg_replace_callback recebe três parâmetros: uma pattern de regex, uma função de callback e a string. O segundo parâmetro, ao invés de uma função regular, é uma função anônima.

Ver o tópico anterior Ver o tópico seguinte Ir para o topo  Mensagem [Página 1 de 1]

Por favor, faça o login para responder

Permissões neste sub-fórum
Não podes responder a tópicos