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

Dúvida no Ex. 1 da Aula 2 - MVC e conexão com banco de dados

Whoops, looks like something went wrong.

1/1 FatalErrorException in ProdutoController.php line 12: Class 'app\Http\Controllers\Controller' not found

sendo que existe o controller na pasta.

Alguém poderia mim ajudar?

30 respostas
<?php

namespace app\Http\Controllers;


class ProdutoController extends Controller {

    public function lista(){
        return '<h1>Listagem de produtos com Laravel</h1>';
    }
}

quando coloco a url: http://localhost:8000/produtos

aparece a msg abaixo:

Whoops, looks like something went wrong. 1/1 FatalErrorException in ProdutoController.php line 12: Class 'app\Http\Controllers\Controller' not found

Oi Francimarco

Sua classe ProdutoController está em app\Http\Controllers, e na mensagem de FatalErrorException ele está procurando em app\Http\Controllers\Controller, tem um controller a mais ai, pode colar seu routes.php ?

Oi Francimarco, Em vez de 'app\Http\Controllers\Controller' , chama assim namespace App\Http\Controllers;

Estou com os mesmos problemas. Se alguém puder me ajudar, agradeço.

Oi pessoal

reparem que o namespace é o caminho ate o arquivo.

app\Http\Controllers\Controller

a sua pasta chama app ou App? ou nenhum dos dois?

no meu caso, que mudei o namespace, a pasta chama estoque, e não app.

então seria:

estoque\Http\Controllers\Controller

como está o de vocês?

Se não conseguirem resolver, podem mandar um print das pastas do projeto?

Estava tendo o mesmo problema, meu código é o seguinte?

```<?php namespace App\Http\Controllers;

class ProdutoController extends Controller {

public function lista(){ return '

Listagem de ProdutosABC

'; } }```

Notei que no meu, o namespace quando escrevia app com 'letra A' minúsculo dava o problema.

(assim Ex.: namespace app\Http\Controllers;).

E quando passei a usar a 'letra A' maiúscula dava certo. (assim Ex.: namespace App\Http\Controllers;)

Vejam se ajuda.

O Meu está dando o mesmo ERRO, e não consegui resolver, alguém pode ajudar!

ProdutoController.php <?php namespace estoque\app\Http\Controllers; class ProdutoController extends Controller {

public function lista() { return "

Meu primeiro projeto usando LARAVEL!

"; } }

routes.php <?php Route::get('/produtos', 'ProdutoController@lista');

ERRO:

Whoops, looks like something went wrong.

1/1 FatalErrorException in ProdutoController.php line 4: Class 'estoque\app\Http\Controllers\Controller' not found

Alguem pode ajudar aee? rsrsrs

Oi Jefferson

Primeiro precisamos saber onde fica a sua pasta controller. Navegue pelo seu terminal/prompt até a pasta de controllers do projeto e faça o seguinte comando :

pwd se for linux

ou

echo %cd% se for windows prompt

E depois nos informe o seu resultado por favor.

c:\xampp\htdocs\estoque\app\Http\Controllers

Realizei o comando echo %cd% me retornou :

c:\xampp\htdocs\estoque\app\Http\Controllers

Então o seu arquivo é para ficar assim :

<?php

namespace estoque\app\Http\Controllers


class ProdutoController extends Controller {

//resto do código

Faça isso, salve e faça um teste por favor.

Está exatamente assim, olha: <?php namespace estoque\app\Http\Controllers;

class ProdutoController extends Controller {

public function lista() { return "teste"; }

}

Da esta mensagem:

FatalErrorException in ProdutoController.php line 6: Class 'estoque\app\Http\Controllers\Controller' not found

Opa Jefferson,

Tem que tirar o app do namespace, vai ficar assim :

namespace estoque\Http\Controllers;

falha minha! Pode um teste novamente ?

abraço

Testei assim: <?php

namespace estoque\Http\Controllers;

class ProdutoController extends Controller {

public function lista() { return "teste"; }

}

Deu essa mensagem:

FatalErrorException in ProdutoController.php line 5: Class 'estoque\Http\Controllers\Controller' not found

Vai no seu prompt nessa pasta : c:\xampp\htdocs\estoque\app\Http\Controllers

faça o dir lá, e cola o resultado aqui por favor.

27/06/2016 15:01

. 27/06/2016 15:01 .. 22/06/2016 11:03 Auth 27/06/2016 16:07 455 Controller.php 27/06/2016 16:07 153 ProdutoController.php 2 arquivo(s) 608 bytes 3 pasta(s) 303.595.352.064 bytes disponíveis

Confirma que seu routes.php deve ter a rota desse controller:

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

Como você está testando ? Qual é a url que você está fazendo o teste ?

Meu routes: <?php Route::get('/produtos', 'ProdutoController@lista');


Estou executando essa url no navegador:

http://localhost/estoque/public/produtos

Parece que está tudo certo. muito estranho.

Tenta testar a url que é mostrada no curso :

http://localhost:8000/produtos

Aparece que não é possível acessar o site.

Muito estranho mesmo , será quem a vê com instalação ?

O pior é que na empresa e em casa está dando a mesma coisa.

solução!

Eu não tenho mais opção =[ , Consegue desinstalar tudo ai ? Ai você seguiria o passo-a-passo que temos:

https://gist.github.com/Turini/4949f23350ae2297c933

Blza , vou tentar fazer e dou o feedback. Obrigado Caio.

Caio , desinstalei e instalei novamente. E deixei meu namespace assim: namespace App\Http\Controllers;, e funcionou. Obrigado

Estou com um novo problema, se alguém puder ajudar eu agradeço.

Esta dando essa mensagem quando tento fazer um select no banco:

/1 RuntimeException in C:\xampp\htdocs\produtos\vendor\laravel\framework\src\Illuminate\Encryption\EncryptionServiceProvider.php line 45: No supported encrypter found. The cipher and / or key length are invalid.

Meu database.php está assim:

'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'estoque_laravel'), 'username' => env('DB_USERNAME', 'root'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'engine' => null, ],

Jefferson Pode abrir um nova dúvida ? Assim deixamos esse tópico só sobre o problema do namespace.

abraços

Ok. Já resolvi o meu outro problema, Obrigado

tive o mesmo problema utilizando a versão 5.3, fiz o que o Haylson Martins disse e resolveu, meu 'app' realmente está em minúsculo mas se colocar 'App/~' em maiúsculo resolveu o problema