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

Uncaught Error: Class ... not found in (Extensão CodeRunner - VSCode)

Olá pessoal!

Estou com problemas ao executar o arquivo banco.php

Apesar de já possuir um tópico semelhante no fórum, acredito que o problema que estou enfrentando difere do tópico "estrutura de classes".

Executei os mesmos passos realizados pelo professor em aula, porém o meu código ao ser executado gera o seguinte erro:

PHP Fatal error:  Uncaught Error: Class "Alura\Banco\Modelo\Endereco" not found in C:\Users\PC\Desktop\php-estudos\prog-orientada-objetos\projeto\banco.php:10
Stack trace:
#0 {main}
  thrown in C:\Users\PC\Desktop\php-estudos\prog-orientada-objetos\projeto\banco.php on line 10

Realizei diversas verificações, dentre elas, na estrutura das pastas, pesquisei possíveis erros nos códigos das demais classes e não identifiquei o problema.

Fiz o download do arquivo utilizado pelo professor e mesmo assim, ao executar, o arquivo banco.php, é gerado um erro semelhante.

PHP Fatal error:  Uncaught Error: Class "Alura\Banco\Modelo\Endereco" not found in C:\Users\PC\Desktop\php-estudos\prog-orientada-objetos\projeto-prof\banco.php:10
Stack trace:
#0 {main}
  thrown in C:\Users\PC\Desktop\php-estudos\prog-orientada-objetos\projeto-prof\banco.php on line 10
`

Essa situação me deixou mais intrigado, visto que, teoricamente, os arquivos disponibilizados pelo professor, rodariam adequadamente.

O problema persiste mesmo com a exclusão da classe Endereco e adequações no código, porém passa a apresentar o erro mencionado para a classe Titular.

Estou usando o VSCode como IDE com a extensão CodeRunner para execução do código .php.

Desde já, agradeço pela atenção.

6 respostas

Efetuei testes diretamente pelo terminal e para minha surpresa, ambos os projetos, funcionaram perfeitamente.

Aparentemente, alguma inconsistência na extensão CodeRunner ou problemas de configuração.

Alguém usa essa extensão? Já presenciaram erros semelhantes? Existe alguma configuração a ser realizada?

Desde já, agradeço!

Não sei o que essa extensão faz, xará. Os caminhos no código estão absolutos ou relativos?

Olá professor! Obrigado pela resposta.

A extensão roda o código ou partes dele (seleção). É comum para diversas linguagens de programação. Segue o link para mais info sobre a extensão

https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner

Pra ser sincero, ainda não li a documentação da extensão para verificar se tem alguma propriedade especifica que resolva a situação.

Os caminhos no código, acredito que estão absolutos, da mesma forma que nos suas aulas.

use Alura\Banco\Modelo\Endereco;
use Alura\Banco\Modelo\Conta\Titular;
use Alura\Banco\Modelo\CPF;
use Alura\Banco\Modelo\Conta\{ContaCorrente, ContaPoupanca};

Vou pesquisar um pouco mais a respeito da extensão.

Obrigado pela resposta!

Quis dizer caminhos dos arquivos, xará. Onde tem require. Provavelmente é só no autoloader.

Vê se o caminho tá absoluto ou relativo lá...

solução!

Professor,

Agora entendi sua pergunta. No autoloader, o caminho dos arquivos estava como relativo.

Testei, rodando direto da extensão do CodeRunner, com caminho absoluto e funcionou de boas.

Verifiquei nas configurações da extensão e descobri o que estava acontecendo. Ela roda por default na pasta do interpretador PHP. No meu caso, "C:/php".

Nas configurações da extensão, setei "File Directory as CWD" e sucesso. Funcionou com o caminho relativo também.

Acredito que esta é a solução do problema. Caso queira acrescentar algo, fique a vontade.

Agradeço pela atenção!

É exatamente isso, Vinicius. Eu supus que ele executasse em outro local, por isso perguntei se os caminhos estavam absolutos. Eu recomendo deixar absolutos pra evitar esse tipo de confusão com outros possíveis runners. :-)

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