0

I am learning laravel. I tried many times but I didn't find what's the issue in my User controller.Please go through the code and help me out.

Illuminate\Contracts\Container\BindingResolutionException Target class [User] does not exist.

web.php file

<?php
use Illuminate\Support\Facades\Route;
                
                
Route::get('/', function () {
    return view('welcome');
    //return redirect('sample');
});

// Route::get('sample/{id}',function($id){
//     echo $id;
//     return view('sample');
// });

// Route::view('sample','sample');
// Route::redirect('youtube','sample');

Route::get('users','User@index');
Route::get('show','User@show');
        

This is my controller

 <?php
    
    namespace App\Http\Controllers;
    
    use Illuminate\Http\Request;
    
    class User extends Controller
    {
        //
        function index()
        {
            return ['name' => 'Abhishek'];
        }
        function show()
        {
            echo "Hello controller";
        }
    }



 
lagbox
  • 48,571
  • 8
  • 72
  • 83
Abhishek
  • 35
  • 7

2 Answers2

1

laravel 8 route has been changed

you should declare route as such

you have 3 prefer for it ...

  • 1

Route::get('user','App\Http\Controllers\User@index');

  • 2

use App\Http\Controllers\User;


Route::get('user',[User::class,'index']);


  • 3

if you don't want to change the route, look at the RouteServiceProvider and change , change $this->namespace=null; as $this->namespace='App\\Http\\Controllers'; https://github.com/laravel/laravel/blob/master/app/Providers/RouteServiceProvider.php

$this->namespace=null; //laravel 8

protected $namespace = 'App\\Http\\Controllers'; //previous laravel version

relevate line

dılo sürücü
  • 3,821
  • 1
  • 26
  • 28
-1

You need User model. If you created already, make sure your UserController has

use App\Models\User;

at the top. BTW, as I've noticed, your controller's name is User. This is bad practice. Following Laravrel's naming convention is not a must, but it can save you from a lot of headaches. User should be model name, UserController should be controller's name.

Bulent
  • 3,307
  • 1
  • 14
  • 22