拉拉维尔 5.1 "ReflectionException in Container.php line 737:..class does not exist"



我确信这个问题的解决方案正摆在我面前,但不幸的是,我似乎无法解决。我正试图为我的laravel 5.1安装添加一条路径,但我收到了以下错误。。。

ReflectionException in Container.php line 737:
Class AppHttpControllersToolsDashBoardController does not exist

我首先编辑了路线文件,包括以下内容。。。

(文件:app\Http\routes.php)

 Route::get('dashboard', 'ToolsDashBoard@index');

然后我创建了"Tools"文件夹和"DashBoardController.php"文件,并将其设置为如下所示。。。(文件:app\Http\Controllers\Tools\DashBoardController.php)

 namespace AppHttpControllersToolsDashBoard;
 //...etc...//
 class DashBoardController extends Controller { /* ..etc.. */ }

这就是我要做的全部吗?我读到你可以在终端运行"composer dumpautoload",但不幸的是,这没有帮助。

如果有用的话,我在Win7上安装localhost XAMPP w/PHP7。非常感谢您的帮助!

您的命名空间声明应该看起来像namespace AppHttpControllersTools,并且不应该包含类的文件名或名称。然后,您需要更改路线以指向您的类名Route::get('dashboard', 'ToolsDashBoardController@index');

自动加载器和命名空间在PHP中,特别是在Laravel中的工作方式是,命名空间必须反映目录结构,类名必须与其文件名匹配。

如果有多个路由使用来自同一命名空间的控制器,那么您可能会从实现路由组命名空间中受益。

相关内容

最新更新