我的控制器在 laravel 项目中不起作用我面临这个错误“Class App\Http\Controllers\HelloController 不存在”

Posted

技术标签:

【中文标题】我的控制器在 laravel 项目中不起作用我面临这个错误“Class App\\Http\\Controllers\\HelloController 不存在”【英文标题】:My Controller is not working in laravel project I am facing this error "Class App\Http\Controllers\HelloController does not exist"我的控制器在 laravel 项目中不起作用我面临这个错误“Class App\Http\Controllers\HelloController 不存在” 【发布时间】:2019-11-26 04:36:06 【问题描述】:

当我将路由器和控制器相互连接时,我的控制器不工作。它显示错误

类 App\Http\Controllers\HelloController 不存在。

我希望我的语法和一切都是正确的,但无法找出问题所在。

文件名也与类名相同。

我使用的命名空间是:

namespace App\Http\Controllers\;

路线代码:

Route::get('sayHello', 'HelloController@index');

控制器代码:

class HelloController extends Controller

    public function index()
    
        return view('hello');
    

【问题讨论】:

仔细检查拼写错误。 您好,您可以通过运行命令compuser dump-autoload进行检查 @DhavalGohel 请告诉我我可以用这个命令检查什么? @HaseebAttique 您是否在终端中运行此命令?我认为它在 laravel 中缓存问题。 是的,我在终端运行。 【参考方案1】:

控制器的命名空间应该是:

namespace App\Http\Controllers; 

注意它的末尾没有“\”。

一旦你改变了上面的内容,它就值得运行了:

composer dumpautoload

将来创建控制器时,可能值得使用工匠命令make:controller

php artisan make:controller SomeNewController

问题是控制器类顶部的<? php。应该是<?php(没有空格)

【讨论】:

我做了同样的事情,更正了命名空间,并通过使用 artisan 命令创建新控制器进行了检查,但仍然面临同样的问题。 您是否更改了任何开箱即用的配置,即更改了默认命名空间? 不,我没有更改任何默认命名空间。 @HaseebAttique 听起来可能是缓存问题。请您尝试运行php artisan route:list。如果您看到 HelloController@index 路由,那么框架应该可以正常运行。然后,我建议您尝试在其他浏览器中访问该网址,看看您是否仍然收到 404。 imgur.com/a/vL5LVr7 请看附件截图。这是 php artisan route:list 的结果。

以上是关于我的控制器在 laravel 项目中不起作用我面临这个错误“Class App\Http\Controllers\HelloController 不存在”的主要内容,如果未能解决你的问题,请参考以下文章

.BLADE.PHP 在我的 LARAVEL 项目中不起作用。 .PHP 在我看来运行良好

Laravel 5.0 路由模型绑定在销毁操作中不起作用

链接按钮在 Laravel 中不起作用

路线在 laravel 4.2 中不起作用

路由到子文件夹中的控制器在 Laravel 4 中不起作用

Google地图商店定位器在laravel项目中不起作用