我的控制器在 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 不存在”的主要内容,如果未能解决你的问题,请参考以下文章