Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

É possivel tipar atributos estáticos?

Estou usando o php 7.4, após tentar tipar um atributo estático, me retornou o seguinte erro "HP Fatal error: Uncaught Error: Typed static property Conta::$numeroDeContas must not be accessed before initialization in C:\Users\Rodrigo\PhpstormProjects\poo\src\Conta.php:17 Stack trace:

#0 C:\Users\Rodrigo\PhpstormProjects\poo\src\banco.php(4): Conta->__construct('123.456.789.10', 'Rodrigo')

#1 {main} thrown in C:\Users\Rodrigo\PhpstormProjects\poo\src\Conta.php on line 17 " Após remover a tipagem do atributo estático, voltou a funcionar normalmente.

3 respostas

Tentei tipar a varivel como um inteiro.

Boa noite Rodrigo.

Você esta tentando acessar uma variável que não foi inicializada.

Se você define o Tipo da variável é sua responsabilidade iniciar um valor nela.

No seu caso o erro ocorre porque a sua variável é um inteiro, mas ainda esta com valor NULL, dai o PHP não sabe se você limpou o valor dela ou se esqueceu...

De uma lida nessa matéria que explica bem o motivo disso e onde e como usar os tipos no php: https://stitcher.io/blog/typed-properties-in-php-74

solução!

Fala, Rodrigo. Se você inicializar ela com 0, por exemplo, vai funcionar.

É exatamente o que o Eduardo explicou.