嘗試在 Laravel 中定義到控制器類的路由時遇到問題。
我的 web.php 路由如下所示:
use App\Http\Controllers\Frontend\ArticlesController as FrontEndArticlesController;
Route::get('/articles/{article:slug}', [FrontendArticlesController::class, 'show']);
控制器看起來像這樣:
namespace App\Http\Controllers;
use App\Models\Article;
use Illuminate\Http\Request;
use Inertia\Inertia;
class ArticlesController extends Controller
{
public function index() {
$articles = Article::orderBy('created_at', 'desc')->paginate(5);
return Inertia::render('Article/Index', compact('articles'));
}
public function show($slug)
{
$article = Article::where('slug', $slug)->firstOrFail();
return Inertia::render('Article/Show', compact('article'));
}
}
無論我做什么,我都會不斷收到以下錯誤,請幫忙。
Cannot declare class App\Http\Controllers\ArticlesController, because the name is already in use
uj5u.com熱心網友回復:
更改控制器中的命名空間;
namespace App\Http\Controllers\Frontend;
并使用:
use App\Http\Controllers\Controller;
uj5u.com熱心網友回復:
您的班級名稱已在任何地方使用,您只能使用名稱 App\Http\Controllers\ArticlesController班級一次。第二個原因 - 也許你的類加載器/閱讀器(作曲家)將它保存在草稿/快取中。嘗試這個:
composer clear-cache
composer dump-autoload
此外,您應該閱讀有關自動加載的資訊:https ://www.php.net/manual/en/language.oop5.autoload.php
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/534850.html
標籤:PHP拉维班级控制器
