6 truques do PHP que você deveria conhecer

Neste post, você aprenderá 6 dicas rápidas para melhorar seu código, especialmente aquele código legado.

6 truques do PHP que você deveria conhecer

Ao começar no mundo do desenvolvimento, muitas vezes não damos a devida atenção a conhecimentos mais avançados sobre as tecnologias com as quais trabalhamos, seja pela correria do dia a dia ou por inúmeros outros motivos. Vamos começar!

Desenvolvendo funções mais flexíveis usando Closure

A Closure é um recurso do PHP que torna as funções anônimas mais poderosas e flexíveis.

Funções anônimas são aquelas que podem ser atribuídas a variáveis, passadas como argumentos para outras funções ou definidas dinamicamente. A classe Closure abrange essas funções e permite o uso de variáveis externas dentro delas.

$olaMundo = function ($nome) {
  echo "Olá, $nome";
};

$olaMundo("Pedrinho"); // Olá, Pedrinho

// Closure Binding
$olaMundo = function () use ($nome) {
  echo "Olá, $nome";
};

$nome = "Pedrinho";
$olaMundo(); // Olá, Pedrinho

Otimizando uso de memória com Generators

As funções Generators são essenciais para otimizar o uso de memória quando lidamos com grandes conjuntos de dados. Em vez de gerar todos os dados de uma vez, elas os produzem conforme a necessidade, economizando recursos.

function getNumeros () {
  for ($i = 0; $i < 1000; $i++) {
    yield $i;
  };
};

foreach (getNumeros() as $numero) {
  echo $numero . " ";
};

Simplificando arrays complexos com array_reduce

array_reduce tem como objetivo reduzir o array a um único valor utilizando alguma operação aritmética (+, -, %, *, ...) para tal.

$numeros = [1,2,3,4,5];

$soma = array_reduce($numeros, fn($carry, $item) => $carry + $item, 0);

echo $soma; // 15

Aqui, temos 3 parâmetros. O primeiro é o array original que servirá como base para a operação aritmética, o segundo é a função que irá processar o cálculo, e o terceiro (opcional) servirá como valor inicial da operação.

Uso eficiente de SPL (lib padrão do PHP)

A SPL oferece diversas classes e interfaces úteis já integradas ao PHP. Um exemplo é o SplFixedArray, que otimiza o uso de memória ao trabalhar com arrays de tamanho fixo.

$array = new SplFixedArray(10);
$array[0] = 1;
echo $array[0]; // 1

Usar Intl - funções de internacionalização

A extensão Intl é fundamental no desenvolvimento de aplicações multilíngues. Ela oferece classes como NumberFormatter, MessageFormatter e Locale, que facilitam a formatação de números e mensagens de acordo com as convenções de diferentes países.

$numeroFormatado = new NumberFormatter('pt_BR', NumberFormatter::CURRENCY);

echo $numeroFormatado->formatCurrency(1278.98, 'BRL'); // R$1.278,98

Trabalhar com funções stream para arquivos grandes

Funções de stream como fopen, fread, fwrite são importantes para usar a memória de maneira eficaz ao trabalhar com arquivos grandes.

  • fopen abre o arquivo
  • fread lê o arquivo
  • fwrite permite editar o arquivo.
$arquivo = fopen("arquivo.txt", "r");

while (($linha = fgets($file)) !== false) {
  echo $linha;
}

fclose($arquivo);

Essas são apenas algumas das funcionalidades incríveis que o PHP oferece. Claro, existem muitos outros recursos, mas escolhi essas 6 para manter o conteúdo direto e útil. Com essas dicas, você já conseguirá melhorar muito seus projetos. Espero que tenha gostado das sugestões e até a próxima!

Referências

6 PHP Knowledge You Didn’t Know You Needed

tags: PHP perfomance código
categoria: dicas

Moisés Fausto

Software Developer