Promoção no ar
Tempo restante da oferta:
21 Horas
43 Min
48 Seg
Assinar →

Dica de Código: Arrow Functions no PHP

Aprenda a usar Arrow Functions no PHP para tornar seu código mais conciso e poderoso. Confira exemplos práticos e dicas essenciais.

Elton Fonseca 3 anos atrás

A partir da versão 7.4 do PHP, é possível utilizar Arrow Functions, que são funções anônimas que tornam o código mais limpo quando precisamos executar apenas uma instrução dentro de uma função.

Neste artigo, exploraremos em detalhes esse recurso que facilita a escrita de funções anônimas no PHP. Veremos exemplos práticos de uso, peculiaridades e como aproveitar ao máximo essa funcionalidade.

Se você está interessado em aprender sobre os recursos mais modernos da linguagem PHP, confira nossos cursos e fique por dentro de todas as novidades!

Curso PHP - Fundamentos Conhecer o curso

Introdução às Arrow Functions no PHP

As Arrow Functions são uma adição poderosa ao PHP a partir da versão 7.4. Elas fornecem uma maneira concisa de escrever funções anônimas quando precisamos executar apenas uma única instrução. A sintaxe das Arrow Functions no PHP é bastante simples:

fn(<parâmetros>) => <expressão>;

Vejamos um exemplo prático para melhor entender como utilizar as Arrow Functions:

$somarDoisNumeros = fn($n1, $n2) => $n1 + $n2;

echo $somarDoisNumeros(10, 20); //Imprime 30

/*
 * A função acima é equivalente a:
 */
$somarDoisNumeros = function ($n1, $n2) {
     return $n1 + $n2;
};

Neste exemplo, criamos uma Arrow Function chamada $somarDoisNumeros, que recebe dois parâmetros $n1 e $n2, e retorna a soma desses valores. Como resultado, temos a saída “30” após a execução da função.

É importante notar que as Arrow Functions também podem ser escritas da forma tradicional, utilizando function, como no exemplo acima, com o mesmo resultado.

Curso PHP Avançado Conhecer o curso

Capturando Variáveis com Arrow Functions

Ao utilizar Arrow Functions, é possível capturar variáveis automaticamente dentro do escopo em que foram definidas. Vamos explorar essa característica com exemplos práticos:

<?PHP
$multiplicador = 3;

$multiplicacao = fn($n) => $n * $multiplicador;

echo $multiplicacao(2); //Imprime 6

/* 
 * Porém elas não permitem alterar um valor externo
 */
$valorExterno = 10;

$incrementaValor = fn() => $valorExterno++;
$incrementaValor();

echo $valorExterno; //Imprime 10

Neste exemplo, criamos uma Arrow Function chamada $multiplicacao, que recebe um parâmetro $n e retorna a multiplicação desse valor pelo $multiplicador. Como o $multiplicador foi definido externamente à função, a Arrow Function o “captura” automaticamente, permitindo seu uso dentro da expressão.

Entretanto, é importante observar que, embora as Arrow Functions possam capturar variáveis, elas não permitem alterar um valor externo, como no exemplo acima. A Arrow Function tenta incrementar o valor de $valorExterno, mas essa alteração não é refletida fora do escopo da função. Portanto, o valor original de $valorExterno não é modificado.

Curso PHP - Novidades dos PHP 7.0 e 7.1 Conhecer o curso

Outros Recursos das Arrow Functions

As Arrow Functions também suportam diversos recursos que são comuns em outras funções no PHP. Abaixo, temos alguns exemplos da documentação do PHP:

<?php
fn(array $x) => $x;
static fn(): int => $x;
fn($x = 42) => $x;
fn(&$x) => $x;
fn&($x) => $x;
fn($x, ...$rest) => $rest;

Esses exemplos mostram diferentes formas de declarar parâmetros, especificar o retorno e lidar com referências. As Arrow Functions herdam essa flexibilidade, possibilitando uma ampla gama de aplicações em diferentes contextos.

Curso PHP - Recursos essenciais Conhecer o curso

Utilizando Arrow Functions em arrays

Vamos ver agora um exemplo prático de utilização das Arrow Functions em conjunto com a função array_map para manipulação de arrays:

<?PHP
$cursos = [
    0 => [
        'nome' => 'php',
        'carga' => '10 horas'
    ],
    1 => [
        'nome' => 'CSS',
        'carga' => '9 horas'
    ],
];

$nomes = array_map(fn($curso) => $curso['nome'], $cursos);
var_dump($nomes); //Imprime ['PHP', 'CSS']

Neste exemplo, temos um array $cursos que contém informações sobre diferentes cursos. Usando a função array_map em conjunto com a Arrow Function, podemos extrair apenas os nomes dos cursos e criar um novo array chamado $nomes. O resultado será um array contendo apenas os nomes “PHP” e “CSS”.

As Arrow Functions se mostram uma ótima ferramenta para operações simples e rápidas em arrays, proporcionando uma sintaxe mais elegante e direta.

Conclusão

As Arrow Functions fortalecem o PHP, encurtando e simplificando o código, especialmente em funções anônimas com apenas uma instrução. Sua sintaxe clara facilita a escrita de código mais eficiente.

Experimente utilizar Arrow Functions em seus projetos e descubra como tornar seu código ainda mais poderoso e legível!

Continue lendo

Artigos relacionados

Um ano de acesso total para você viver de programação.

Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro console.log ao mercado de trabalho.

  • 1 ano de acesso a todos os cursos
  • Cursos novos toda semana
  • Suporte direto com professores
  • Plano de carreira personalizado
  • Certificados digitais inclusos
  • Aplicativos para Android e iOS, com acesso offline
Garantia incondicional de satisfação

Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

Acesso completo a todos os cursos e dezenas de Formações.

12 meses
Economize R$ 840,00 54% OFF

de 12x R$ 129,00 por apenas

12x R$ 59,00

sem juros no cartão de crédito ou R$ 599,00 à vista

Oferta termina em 21h 43min 48s

  • Acesso imediato e ilimitado durante 1 ano.
  • Plano de carreira personalizado.
  • Suporte direto com professores.
  • E muito mais!
Matricule-se agora