O PHP é uma das linguagens de programação mais fáceis de se aprender. Com uma vasta documentação na internet (e tutoriais), você poderá escrever os seus primeiros scripts e executar comandos em poucas horas. O PHP 7 introduziu otimização de velocidade, o que o levou a uma melhor classificação comparado as versões anteriores. A versão 8 do PHP veio para melhorar ainda mais isto, além de introduzir outros novos recursos.

➡ Lançamento

A versão 8 do PHP foi oficialmente lançada em 26 de novembro de 2020, correspondendo ao ciclo normal de três anos para cada nova atualização. O seu antecessor (o PHP 7.4), foi lançado a cerca de um ano após o fim do suporte ao PHP 7.1 (inclusive, em dezembro de 2020, o PHP 7.2 também foi descontinuado).

Muitos sites desenvolvidos em PHP ainda estão utilizando versões antigas. Embora isto seja tecnicamente possível, não é recomendado. Manter o código fonte do seu site atualizado e mudar para as novas versões do PHP tem várias vantagens, como: novas funções, com mais possibilidades de desenvolvimento, o desempenho (que pode ser aumentado de forma significativa), além de diversas correções de brechas de segurança.

Ainda não é cliente? Então venha para a ATMUN Host hoje mesmo! Só aqui você terá diversos pacotes de Hospedagem e Revenda de Hospedagem à sua disposição, pelo melhor preço do mercado.

Após a contratação (ou para atuais clientes), basta alterar a versão do PHP padrão da sua conta para o novo PHP 8 e usufruir de todas as novidades.

📣 Em nossa base de conhecimento, preparamos um tutorial que explica passo a passo como prosseguir com a troca do PHP em seu painel DirectAdmin. Clique aqui e confira!

➡ Quais são os principais novos recursos?

A nova versão do PHP possui alguns novos recursos que fornecem aos desenvolvedores muitas novas possibilidades. Faremos aqui um  breve resumo com os ajustes mais importantes em comparação com as versões antecessoras.

  • Compilador JIT

Entre os principais novos recursos desta versão está o compilador JIT, que melhora significativamente o desempenho da aplicação desenvolvida.

O PHP não é compilado, mas interpretado linha por linha. O compilador JIT (Just in Time) funciona compilando partes do código durante o tempo de execução – e, ao fazer isso, age de maneira muito semelhante a uma versão em cache do código, deixando portanto, tudo mais rápido.

  • Union Types

Union Types são conhecidos de outras linguagens como C/C++, TypeScript ou Haskell. Aqui, dois ou mais tipos podem formar uma união e qualquer um dos tipos mencionados pode ser usado. No próprio código, isso pode ter a seguinte aparência:

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

No entanto, há uma restrição, porque void não pode se tornar parte de um tipo de união; não produz um valor de retorno. Além disso, as uniões anuláveis podem ser declaradas com |null ou ?, como neste exemplo:

public function foo(Foo|null $foo): void;
public function bar(?Bar $bar): void;
  • Static return type

Static é o nome de uma classe especial que se torna um tipo de retorno válido, além de self e parent.

  • WeakMap

WeakRefs já existia no PHP 7.4. No entanto, com o PHP 8, foram incluídos WeakMaps, que nada é que a extensão desta função. WeakMaps e WeakRefs podem ser utilizados para excluir objetos quando apenas o cache faz referência às classes de entidade dos objetos. Isso leva a uma manipulação dos objetos com economia de recursos.

Abaixo, segue um exemplo com base na documentação do PHP:

class FooBar {
    private WeakMap $cache;
    public function getSomethingWithCaching(object $obj) {
        return $this->cache[$obj] ??= $this->computeSomethingExpensive($obj);
    }
    // ...
}
  • Uso de ::class para objetos

Em versões anteriores, você tinha que usar get_class () para atribuir uma classe a objetos. Mas agora, você pode aplicar ::class a objetos. Isso garante que o código-fonte seja mantido mais enxuto.

  • Interface ajustável

A interface Stringable é adicionada automaticamente às classes que implementam o método __toString(). Anteriormente, essa etapa precisava ser feita manualmente. O código deverá ser parecido com este:

class Foo
{
    public function __toString(): string
    {
        return 'foo';
    }
}
function bar(Stringable $stringable) { /* … */ }
bar(new Foo());
bar('abc');
  • fdiv

Usando a nova função fdiv(), a divisão com 0 (zero) é permitida. Agora você terá como valor de retorno INF, -INF ou NAN.

  • Nova classificação para avisos ou notificações

Até o PHP 8, havia muitos erros que apenas emitiam um aviso ou notificação. Isso agora foi atualizado. Uma lista completa das novas mensagens de erros podem ser encontradas na documentação oficial.

  • @ não eliminará mais os erros

Este novo recurso permite que erros também sejam detectados. Em vez de eliminá-los com o operador @ (como acontecia anteriormente), agora você deve se certificar de que configurou display_errors=Off no servidor.


E aqui estão as principais alterações da nova versão do PHP. Para ler toda a documentação (em Português) e conferir todas as novidades de forma detalhada, é só acessar https://www.php.net/manual/pt_BR/.

Até o momento, o compilador Just in Time (JIT) é uma das novidades mais comentadas. Porém, nós queremos saber de você o que achou das novidades e qual a sua preferida? Deixe um comentário e bora embarcar juntos nessa novidade! 👊


Compartilhe esta publicação ;)