Ainda vale a pena investir em PHP? Lançamento da versão 7.3 e suas novidades

Muitos se questionam, ainda vale a pena estudar PHP? Bom, essa pergunta muitas vezes é baseada em questões relacionadas ao passado da linguagem, que foi muito criticado por não ter uma estrutura de projeto bem definida e por ser muito fácil fazer um código “ruim” na linguagem, por outro lado, quem domina a linguagem, tem um potencial de desenvolvimento muito ágil e consegue produzir um código de qualidade.

Atualmente o PHP está na versão 7.3 e com ela muitas novidades, descontinuações e melhorias surgiram. Destaco como principal melhoria e ênfase por parte da equipe envolvida nesse processo, em relação ao seu desempenho, que desde a versão 7.0 nos surpreende com melhorias constantes de desempenho, dessa vez a melhoria foi de 4% em relação a versão 7.2. Quando olhamos para os Frameworks do ecossistema PHP, essa melhoria surpreende ainda mais, chegando a incríveis 17% na versão do Cake 3.7 e 10% no Laravel 5.7.

 

Fonte http://www.phpbenchmarks.com/en/

 

Fonte http://www.phpbenchmarks.com/en/comparator/php.html

 

Mas e as novidades, quais são?

A versão do PHP 7.3 foi lançada oficialmente em dezembro de 2018, mas já vem em testes desde junho quando se encontrava na versão Alpha. No decorrer desse tempo, novas correções de bugs foram realizadas, juntamente com novas implementações e métodos que se tornaram obsoletos e passaram a exibir avisos de warning, mais tarde serão removidos em futuras versões, portanto, fique atento!

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: Isso 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.

[FONTE: Igor Santos]

Descontinuações (Deprecations)

Todas as descontinuações e seus detalhamentos, podem ser visto no PHP RFC

Seguem elas abaixo:

  • Alias de função mbstring (como: mbereg_replace, entre 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.

[FONTE: Igor Santos]

 

Nessa atualização podemos observar que uma das principais ênfases da equipe está em relação desempenho da linguagem, que desde a versão 7.0 está em constante melhoria. As demais modificações e atualizações já eram esperadas e foram aprovadas pela comunidade através de votação.

Fontes de pesquisa utilizadas:

PHP.NET

WIKI PHP

Igor Santos – Postagem Medium – Acesso: 08/01/2019