【问题标题】:Class 'App\Http\Controllers\Controller' not found in Laravel 8在 Laravel 8 中找不到类“App\Http\Controllers\Controller”
【发布时间】:2021-03-29 19:20:09
【问题描述】:

控制器

namespace App\Http\Controllers;

use App\Models\Article;
use Illuminate\Http\Request;


class ArticlesController extends Controller
{
    public function show($id)
    {
        $article = Article::find($id);

        return view('articles.show', ['article' => $article]);
    }
}

路线

use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    return view('welcome');
});

Route::get('/about', function () {
    return view('about', [
        'articles' => App\Models\Article::take(3)->latest()->get()
    ]);
});

Route::get('/articles/{article}',
    'App\Http\Controllers\ArticlesController@show');

show.blade.php

@extends ('layout')
@section ('content')
    <div id="wrapper">
        <div id="page" class="container">
            <div id="content">
                <div class="title">
                    <h3>{{ $article->title }}</h3>
                    <p>
                        <img src="/images/banner.jpg" alt=""
                             class="image image-full"/>
                    </p>
                    <p>{{ $article->body }}</p>
                </div>
            </div>
@endsection

错误

找不到类“App\Http\Controllers\Controller” http://localhost:8000/articles/2

我不确定我哪里出错了。我查看了 Laravel 8 中路由/控制器的文档,看起来我应该可以使用。

【问题讨论】:

    标签: php laravel-routing laravel-8 laravel-controller


    【解决方案1】:

    您的扩展控制器似乎有问题。

    请检查App\Http\Controllers中是否存在Controller.php。

    所有与你相同的控制器(ArticlesController)都从控制器扩展

    【讨论】:

    • 在哪里可以找到 Controller.php?
    • 感谢您为我指明了正确的方向。当我安装了一个新的 laravel 项目时,它从来没有给我一个基本的 controller.php 文件,我从来没有意识到。我已经安装了一个新的 laravel 项目,这次它附带了文件,现在我的代码正在运行
    • 这很奇怪,因为这通常不会发生
    猜你喜欢
    • 2016-05-09
    • 2020-04-13
    • 2017-03-27
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    • 2021-09-09
    • 2015-07-21
    • 2018-01-03
    相关资源
    最近更新 更多