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

[Bug] Allowed memory size of 1073741824 bytes exhausted

Amigos, estou rodando essa linha de código: echo $endereco_01->cidade; e está retornando o erro abaixo... Já vi várias correções, mas não executa... Tentei algo como echo 'Olá', e normalmente exibe no terminal do VS Code, mas o primeiro tem retornardo o erro abaixo.

PHP Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 131072 bytes) in C:\Users\jeanc\OneDrive\Área de Trabalho\CURSO - JEANdev\CURSO_PHP_ALURA\FORMAÇÃO_PHP\Curso_PHP_06\src\Modelo\Endereco.php on line 49

O código que está na linha 49 desse arquivo é o seguinte:

47	   public function __get(string $nomeAtributo)
48		{
49			$metodo = 'recupera' . ucfirst($nomeAtributo);
50			return $this->$metodo;
51		}

Grato, pela atenção dos amigos...

2 respostas
solução!

Faltaram os parêntesis. Você entrou em uma recursão infinita.

Você, acessando $endereco_01->cidade, chama o método __get. Nele, você está tentando acessar uma propriedade chamada $endereco_01->recuperaCidade, o que chama de novo o método __get e tenta acessar $endereco_01->recuperaRecuperaCidade, e assim em diante, até estourar a memória.

Só trocar a última linha do método por return $this->$metodo(). ;-)

Bacana, Vinicius! Era isso mesmo hehe! Muito obrigado!

Aliás, parabéns pelo conteúdo! É bem raro vermos alguém com segurança e gosto pela linguagem que ensina! Top!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software