3
respostas

AutoLoad

Professor, Bom dia, depois que criei o arquivo autoload, a minha aplicação está dando erro, mesmo tendo seguido a risca tudo que esta funcionando, e antes ela estava funcionando normalmente e não consigo identificar onde esta o erro, abaixo esta a mensagem de erro e o código:

C:\php-7.4.7-nts-Win32-vc15-x86\php.exe C:\Users\Rodrigo\PhpstormProjects\projeto\src\banco.php

spl_autoload_register(function (string $nomeCompletoDaClasse) {
    $caminhoArquivo = str_replace('Modelo', 'src', $nomeCompletoDaClasse);
    $caminhoArquivo = str_replace('\\', DIRECTORY_SEPARATOR, $caminhoArquivo);
    $caminhoArquivo .= '.php';

    if (file_exists($caminhoArquivo)) {
        require_once $caminhoArquivo;
    }
});
Fatal error: Uncaught Error: Class 'Modelo\Endereco' not found in C:\Users\Rodrigo\PhpstormProjects\projeto\src\banco.php:10
Stack trace:
#0 {main}
  thrown in C:\Users\Rodrigo\PhpstormProjects\projeto\src\banco.php on line 10
PHP Fatal error:  Uncaught Error: Class 'Modelo\Endereco' not found in C:\Users\Rodrigo\PhpstormProjects\projeto\src\banco.php:10
Stack trace:
#0 {main}
  thrown in C:\Users\Rodrigo\PhpstormProjects\projeto\src\banco.php on line 10

Process finished with exit code 255
3 respostas

Rodrigo, seu arquivo banco.php está na pasta src e você está tentando "entrar" na pasta src de novo. Só tirar o arquivo banco.php da pasta src e tudo deve funcionar. ;-)

Mesmo retirando o arquivo Banco.php da pasta o erro continua. Subi os arquivos no drive, segue link: https://drive.google.com/drive/folders/18KQW8wuikN7Z9XoS98GtqahnaYNuUI-E?usp=sharing

Rodrigo, vi que no seu autoloader você está trocando Modelo por src. Dessa forma o "namespace raiz" seria Modelo, o que não bate com o que foi ensinado na aula. :-)

Dá uma conferida de novo em como os namespaces do projeto da aula estão organizados pra ficar um pouco mais claro...

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