更新:
當我使用:
namespace App\Http\Controllers\Auth;
在里面LoginController.php,這個錯誤被拋出:
Class "App\Http\Controllers\Auth\Controller" not found
原始問題:
我添加了以下路線web.php:
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Auth\LoginController;
Route::post('/admin/login', [LoginController::class, 'store']);
但是當被呼叫時,它會拋出:
Target class [App\Http\Controllers\Auth\LoginController] does not exist.
這是控制器的位置:
![控制器已匯入,但 web.php 拋出目標類 [App\Http\Controllers\Auth\LoginController] 不存在](https://img.uj5u.com/2022/05/19/dad96f0168254a0a8dff0d61fea21905.png)
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');
}
}
將內部的匯入替換為web.php:
[Auth\LoginController::class, 'store']
也無濟于事。我究竟做錯了什么?
uj5u.com熱心網友回復:
在 LoginController 類中寫入錯誤的命名空間:
namespace App\Http\Controllers\Auth;
uj5u.com熱心網友回復:
你里面的命名空間LoginController應該是App\Http\Controllers\Auth
uj5u.com熱心網友回復:
在LoginController.php中,您需要檢查檔案的命名空間
這是不正確的,因為檔案位于Auth目錄中,所以您必須遵循 psr4 指南
命名空間將是 App\Http\Controllers\Auth;而不是 App\Http\Controllers;
uj5u.com熱心網友回復:
您在 LoginController 中使用的命名空間是錯誤的,因為您的類是在 Auth 檔案夾下定義的,所以它應該是:
namespace App\Http\Controllers\Auth;
此外,您在頂部共享的 web.php 顯示名稱空間宣告的代碼片段,請洗掉此宣告。
uj5u.com熱心網友回復:
像這樣在里面匯入它LoginController.php似乎解決了這個問題(雖然我不知道為什么):
<?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');
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/477004.html
上一篇:無法在視圖中讀取影像檔案
