Laravel 8 - Target class [App\http\Controllers\LoginController] does not exist

Viewed 41

can anyone help me. I've been tired looking for this problem but nothing works, the error is Target class [App\http\Controllers\LoginController] does not exist. Please help what wrong with my code? :(

Error

Illuminate\Contracts\Container\BindingResolutionException

Target class [App\http\Controllers\LoginController] does not exist.

web.php

<?php
use Illuminate\Support\Facades\Route;
use App\http\Controllers\LoginController;
use App\http\Controllers\RegisterController;
use App\http\Controllers\HomeController;
use App\Http\Controllers\TodosController;

Route::get('/login', [LoginController::class, 'index'])->middleware('guest');
Route::post('/login', [LoginController::class, 'authenticate']);
Route::post('/logout', [LoginController::class, 'logout']);

Route::get('/register', [RegisterController::class, 'index'])->middleware('guest');
Route::post('/register', [RegisterController::class, 'store']);

Route::get('/home', [TodosController::class, 'index'])->middleware('auth');
Route::delete('/home', [TodosController::class, 'destroy'])->name('home.destroy')->middleware('auth');
Route::post('/home', [TodosController::class, 'store'])->middleware('auth');

My LoginController

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class LoginController extends Controller
{
    public function index(){
        return view('login', [
            'title' => 'Login'
        ]);    
    }

    public function authenticate(Request $request){
        $tes = $request -> validate([
            'name' => 'required|max:14',
            'password' => 'required'
        ]);

        if (Auth::attempt($tes)){
            $request -> session()->regenerate();

            return redirect()->intended('/home');
        }
        return back()-> with('loginError', 'Wah, ada yang salah nih bestie :(');
    }

    public function logout(Request $request){
        Auth::logout();

        $request->session()->invalidate();

        $request->session()->regenerateToken();

        return redirect('/login');
    }
}

RouteServiceProvider.php

protected $namespace = 'App\Http\Controllers';
public function boot()
    {
        $this->configureRateLimiting();

        $this->routes(function () {
            Route::prefix('api')
                ->middleware('api')
                ->namespace($this->namespace)
                ->group(base_path('routes/api.php'));

            Route::middleware('web')
                ->namespace($this->namespace)
                ->group(base_path('routes/web.php'));
        });
    }
2 Answers

You are using http instead of Http

use App\Http\Controllers\LoginController;
use App\Http\Controllers\RegisterController;
use App\Http\Controllers\HomeController;

You can run: php artisan optimize

Related