Update:
When I use:
namespace App\Http\Controllers\Auth;
inside LoginController.php
, this error is thrown:
Class "App\Http\Controllers\Auth\Controller" not found
Original Question:
I've added following route to web.php
:
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Auth\LoginController;
Route::post('/admin/login', [LoginController::class, 'store']);
but when called, it throws:
Target class [App\Http\Controllers\Auth\LoginController] does not exist.
This is the controller's location:
LoginController.php
:
<?php
namespace App\Http\Controllers;
use App\Http\Requests\Auth\LoginRequest;
class LoginController extends Controller
{
public function store(LoginRequest $request)
{
$request->authenticate();
$request->session()->regenerate();
redirect('/admin/dashboard');
}
}
Replacing the import inside web.php
with:
[Auth\LoginController::class, 'store']
does not help either. What am I doing wrong?
CodePudding user response:
in LoginController Class write wrong namespase:
namespace App\Http\Controllers\Auth;
CodePudding user response:
Your namespace inside LoginController
should be App\Http\Controllers\Auth
CodePudding user response:
In LoginController.php you need to check the namespace for the file
It's not correct, because the file located inside Auth directory so you must follow psr4 guide
name space will be App\Http\Controllers\Auth; instead of App\Http\Controllers;
CodePudding user response:
Your namespace used in LoginController is wrong, as your class is defined under Auth folder so it should be:
namespace App\Http\Controllers\Auth;
Also the code snippet you have shared of web.php show's namespace declaration at the top, please remove this declaration.
CodePudding user response:
Importing it like so inside LoginController.php
seems to resolve the issue (although I have no idea why):
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
class LoginController extends Controller
{
public function store(LoginRequest $request)
{
$request->authenticate();
$request->session()->regenerate();
redirect('/admin/dashboard');
}
}