3
respostas

Class estoque\Http\Controllers\ProdutoController does not exist

Ao inserir a class: ProdutoController no arquivo controller, e linkar ele no arquivo routes, está dando esse erro:

Class estoque\Http\Controllers\ProdutoController does not exist 

(versão do laravel: 5.6)

Arquivo route:

<?php

Route::get('/', function () {
    return '< h1 >Primeira lógica com Laravel< /h1 > ';
});

Route::get('/produtos', 'ProdutoController@lista');

Arquivo Controller

<?php namespace estoque\Http\Controllers;

use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;

class Controller extends BaseController
{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
}

class ProdutoController extends Controller{

    public function lista(){

        return '<h1>Listagem de produtos com laravel<h1>';

    }
3 respostas

Oi Jonatas, tudo bom?

Pela documentação do Laravel, a declaração do controller é um pouco diferente. Tenta remover a sobrescrita da classe Controller que rolou:

<?php
namespace App\Http\Controllers;

use App\User;
use App\Http\Controllers\Controller;

class ProdutoController extends Controller
{

    public function lista(){

        return '<h1>Listagem de produtos com Laravel</h1>';
    }

}

Abraço!

Então André, é pra substituir o que está no meu controller, com o que você mandou? porque se for isso, não funcionou... continua o mesmo erro, ainda aguardo uma solução.

O erro continua o mesmo?

Se a classe não está sendo encontrada é porque a gente não ta declarando ela do jeito que devia. Esse código que eu te mandei foi baseado na documentação do Laravel na versão 5.6. Compartilha com a gente aqui o autoloader do seu composer? Assim a gente consegue ver como está a estrutura de carregamento e ver se estamos declarando certinho.