Back-End

9 jan, 2019

PHP 7.3 está entre nós!

Publicidade

Enquanto rolava O PHP Conference Brasil, era lançada a nova release do PHP na sua Versão 7.3. Com o lançamento programado para o dia 13 de dezembro do ano passado, ele acabou surpreendendo a todos, sendo disponibilizado uma semana antes, no dia 6 de dezembro (no mesmo dia que se iniciava a PHP Conference Brasil). Coincidência? Eu acho que não!

Performance

Que o PHP 7, trouxe um grande salto de performance e agilidade não é novidade. Porém, a cada novo release o seu desempenho melhora, e com a versão 7.3 não poderia ser diferente. De acordo com o site phpbenchmarks, a nova versão tem um aumento de desempenho de 4% sobre o PHP 7.2, e se torna a versão mais rápida do PHP! Você pode conferir aqui!

Mas o que muda na versão 7.3?

A versão 7.3 do PHP já estava em teste desde o seu lançamento, em junho, na versão Alpha. Como já era de conhecimento público, a nova versão traz correções de bugs como de costume, novas implementações e métodos que se tornaram obsoletos.

Novidades

As principais novidades que entraram em vigor nessa nova versão, são:

  • Flexibilidade de sintaxe Heredoc e Nowdoc
  • Permitir trailing comma (vírgula à direita) em chamadas de função e método
  • Tratamento de exceções em erros no json_encode e json_decode
  • Atribuições de referências em list()
  • Função is_countable() (basicamente retorna true ou false para indicar se um objeto é contável)
  • Funções array_key_first() e array_key_last() para reunir a primeira e a última chave do array respectivamente
  • Migração do PCRE para PCRE2 (utilizado para expressões regulares)
  • Aprimoramentos de hash da senha Argon2

Atualizações para o FPM

O gerenciador de processos FastCGI também tem uma atualização e agora vem com novas opções para personalizar o log do FPM.

  • log_limit: configure o tamanho permitido para mensagens de log. Esse limite pode ter mais de 1024 caracteres sem envolver
  • log_buffering: permite registro em log experimental sem buffer extra
  • decorate _workers_output: use esta opção de pool para desativar a decoração de saída para saída de trabalhadores quando catch_workers_output estiver ativado

Não irei abordar o funcionamento ou explicação de cada uma, pois você pode conferir todos os detalhes no PHP RFC, incluindo exemplos de código.

Descontinuações (Deprecations)

Todas as descontinuações e seus detalhamentos podem ser conferidos no PHP RFC. Segue a lista:

  • Alias de função mbstring (como mbereg_replace e outras) usando um prefixo mb_ (por exemplo, mb_ereg )
  • Funções de pesquisa de string
  • Função fgetss() e strip_tags() (filtro string.strip_tags)
  • Definição de uma função assert() com “free-standing”
  • As constantes FILTER_FLAG_SCHEME_REQUIRED e FILTER_FLAG_HOST_REQUIRED
  • A diretiva pdo_odbc.db2_instance_name do php.ini
  • A função image2wbmp() deverá ser substituída pela imagewbmp()
  • Descontinuação de constantes insensíveis a maiúsculas e minúsculas

Todas as descontinuações serão avisadas no PHP 7.3 e removidas na versão 8.

Conclusão

Podemos ver que a nova versão 7.3 além de ter um aumento significativo de performance trouxe também diferentes atualizações, assim como adicionou vários novos recursos e também descontinuou alguns (que se encontravam até mesmo obsoletos).

Toda a documentação já está disponível no php.net, e como citado anteriormente, você pode conferir todos os detalhes no PHP RFC.

O PHP 7.3 já está estável e mesclado ao branch master do projeto no GitHub.

E aí? Ansioso para a versão 7.4?