Autoload não encontra a classe | Fórum | School of Net

Deseja poder participar de nosso fórum e tirar todas as suas dúvidas?
Clique aqui e assine nosso plano de acesso ilimitado. Saiba mais.

por Carlos Gabriel

5 dias, 16 horas atrás Carlos Gabriel

Autoload não encontra a classe

Fala pessoal, Estou me batendo com algo muito simple, mas não consigo encontrar o erro. Fazendo o teste da PSR-4 e misteriosamente o autoload não consegue encontrar minha classe, acredito que seja algo relacionado com o namespace: Uma classe "Teste.php" dentro do diretório "classes". Usando a função "__autoload($class)" sem o uso do namespace na minha classe o código roda lindamente, consigo carregar a classe sem o require_once da mesma. Porém, quando acrescento o namespace na classe e utilizando o exemplo do site do PHP-FIG e também através do autoload do composer, não consigo carregar a classe. /classes/Teste.php ``` <?php namespace App\classes; class Teste { public function getTeste(){ echo 'funciona'; } } ``` /vendor/composer/autoload-psr4.php ``` <?php // autoload_psr4.php @generated by Composer $vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( 'App\\' => array($baseDir . '/classes'), ); ``` /teste/testando.php ``` <?php require_once(__DIR__.'/../vendor/autoload.php'); $teste = new \App\classes\Teste; $teste->getTeste(); ``` resultado: ``` Fatal error: Uncaught Error: Class 'App\classes\Teste' not found in C:\xampp\htdocs\portal_dev\teste\testando.php:4 Stack trace: #0 {main} thrown in C:\xampp\htdocs\portal_dev\teste\testando.php on line 4 ``` Me ajudem pq ja estou ficando preste a fazer um debug letra por letra e não encontro o erro kkkk.

2 Respostas