PHP 8 – Novidades da atualização

PHP 8.0 é uma atualização importante da linguagem PHP e isso foi descrito no site oficial do PHP.net, uma das grandes afirmações sobre as atualizações que foram aplicadas nessa nova etapa do PHP e seu crescimento absurdo no mercado de tecnologias.

VEJA TAMBÉM:

Novamente em seu site oficial a PHP.net acrescenta o seguinte trecho:


Ele contém muitos novos recursos e otimizações, incluindo argumentos nomeados, tipos de união, atributos, promoção de propriedade do construtor, expressão de correspondência, operador nullsafe, JIT e melhorias no sistema de tipo, tratamento de erros e consistência.

php.net

Vamos falar de forma separada e objetiva sobre as atualizações e mudanças na sintaxe da linguagem mais famosa da web.

O mais notável do PHP 8.0 é o suporte just-in-time (JIT) e outras melhorias de desempenho para acelerar o já cada vez mais veloz PHP7 em comparação com os dias lentos do PHP5.

Mas essa não é a única novidade. Confira o que tem de novo no PHP 8.

Union Types (Tipos de União)

Dada a natureza dinâmica do PHP, há muitos casos em que os tipos de união podem ser úteis. Da mesma forma, os tipos de união são uma coleção de dois ou mais tipos, portanto, indicamos que qualquer um deles é válido. Quando especificamos o valor desse argumento ou o tipo de retorno da função.

public function foo(Foo|Bar $input): int|float;

Observe que void nunca pode fazer parte do union, pois indica “nenhum valor de retorno”. Além disso, a união anulável pode ser escrita usando | null ou usando a notação?

public function foo(Foo|null $foo): void;
public function bar(?Bar $bar): void;

Attributes (Atributos)

Os atributos ou anotações permitem que você inclua metadados na classe, algo que parecerá familiar se você trabalhar com frameworks como Symfony ou Laravel.

Da mesma forma, de acordo com a proposta na RFC, que a partir do PHP 8 pode especificar atributos/anotações. Sem a necessidade de recorrer a blocos de comentários.

Além disso, a primeira coisa que eles devem fazer é criar um atributo como se fosse uma classe. Em seguida, use o atributo PhpAttribute para que possa ser identificado como tal.

Constructor property promotion

A versão atual do PHP, inclui os conhecidos “açúcares sintáticos” que permitem simplificar o código. Que o usuário escreva para versões mais curtas. Em vez de especificar propriedades de classe e um construtor para elas, o PHP agora pode combiná-los em um.

Em vez de fazer isso:
class Money
{
public Currency $currency;

public int $amount;

public function __construct(
Currency $currency,
int $amount,
) {
$this->currency = $currency;
$this->amount = $amount;
}
}

Agora você pode fazer isso:
class Money
{
public function __construct(
public Currency $currency,
public int $amount,
) {}
}

Mixed Type (Tipo Misto)

Muitos programadores tentaram escrever um argumento ou o valor de retorno de uma função usando mixed. Pensando que era um tipo válido, entretanto, eles obtêm um erro ao fazer isso.

  • uma função que retorna void ou null.
  • um argumento que pode receber valores de vários tipos.

No entanto, com o PHP 8.0, eles permitem que você escreva usando argumentos, propriedades e valores de retorno mistos para representar vários desses valores:

  • array
  • bool
  • callable
  • int
  • float
  • null
  • object
  • resource
  • string

Como você pode ver, mixed também inclui null, portanto não será válido um “tipado” como o seguinte:?Mixed.

JIT

O compilador JIT, que é a sigla para “just in time”, que promete melhorias de desempenho significativas. Embora nem sempre no contexto de solicitações da web.

Em outras palavras, JIT é uma técnica que compilará partes do código em tempo de execução. Portanto, a versão compilada pode ser usada em vez da interpretada.

Para obter mais informações sobre o PHP 8.0, visite o anúncio oficial.

A versão atual, PHP 8.0, incorpora muitos novos recursos nos níveis funcional e sintático. Isso é para provar que não é uma língua “velha”, longe disso.

Da mesma forma, com a chegada da última versão do PHP, muitas páginas da web escritas em versões mais antigas em breve não serão mais compartilháveis.

Também é importante manter o código do site atualizado e usar as versões mais recentes do PHP. Eles podem trazer algumas vantagens, como um aumento considerável de desempenho e um alto nível de segurança.

Por outro lado, com a inclusão do JIT no PHP, eles poderão se tornar um polivalente. E da mesma forma, abranger mais espaço para quem não foi atingido antes por causa de sua atuação.

Gostou deste conteúdo? Deixe o seu comentário.

Até a próxima!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.