PHP Core Roundup #9

Autor(a):

Conforme o Core Roundup #9, essas são algumas melhorias e RFCs para a versão 8.3, destaques do mês de Janeiro:

RFC em votação: Readonly amendments

A sugestão de mudança é para classes normais poderem estender(herdar) de classes Readonly(somente leitura). Hoje, é proibido e lança um ‘Fatal error‘. Também, é permitir a reinicialização de propriedades Readonly durante a clonagem.

RFC implementada: Randomizer Additions

Melhoria na nova extensão ‘Random‘ do PHP, criada para padronizar a geração de números aleatórios/randômicos. Esta RFC propõe adicionar os métodos getBytesFromString() e getFloat()/nextFloat(), para geração de string e ponto flutuante(float) aleatório. Estas operações geralmente são aplicadas na userland, com uma certa dificuldade.

RFC em discussão: Path to Saner Increment/Decrement operators

Alteração no operador de incremento($v++) e decremento($v–), para padronizar a saída quando utilizado com tipo int ou float. Muitas vezes, a saída é inesperada.

A ideia é para $v++ ser igual $v += 1 , e $v– à $v -= 1.

RFC em discussão: Saner array_(sum|product)()

Aqui, é para gerar um aviso quando a utilização de array_sum() e array_product() tiverem um array com tipos incompatíveis. Isso irá gerar incompatibilidade com versões anteriores.

RFC recusada: Asymmetric Visibility

Nesta, teria uma nova sintaxe para declaração do encapsulamento de propriedades de uma classe, ex:

class Foo
{
  public private(set) string $bar;
}

No trecho acima, a operação getBar() seria pública, enquanto setBar() privada.


Além destas e outras RFCs, foram implementadas diversas melhorias de desempenho, principalmente nas extensões mbstring e random.

Pude acompanhar diversos PRs de dezembro de 2022 para cá e é perceptível a evolução e melhorias que a linguagem vem recebendo, a PHP Foundation deu um ‘gás’ para a linguagem continuar evoluindo. 🙂

#php #php7 #php8 #phpfoundation #phpdeveloper

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comentários
Inline Feedbacks
Ver todos os comentários