PHP Core Roundup 9
Marcos Marcolin • February 5, 2023
php phpfoundation opensource php-core-roundupConforme 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. 🙂