Laravel 5.1"在Container.php第737行中的ReflectionException:..类不存在"

时间:2016-01-04 17:56:05

标签: php laravel-5 laravel-5.1 laravel-routing

我确信这个问题的解决方案正好盯着我,但不幸的是我似乎无法弄明白。我试图为我的laravel 5.1安装添加一条路线,我收到以下错误...

ReflectionException in Container.php line 737:
Class App\Http\Controllers\Tools\DashBoardController does not exist

我首先编辑了路线文件以包含以下内容......

(file:app \ Http \ routes.php)

 Route::get('dashboard', 'Tools\DashBoard@index');

然后我创建了"工具"文件夹和" DashBoardController.php"文件,并设置为看起来有点像下面... (file:app \ Http \ Controllers \ Tools \ DashBoardController.php)

 namespace App\Http\Controllers\Tools\DashBoard;
 //...etc...//
 class DashBoardController extends Controller { /* ..etc.. */ }

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

我在Win7上使用PHP7安装本地主机XAMPP,如果它有用的话。非常感谢任何帮助!

1 个答案:

答案 0 :(得分:3)

您的名称空间声明应该类似于namespace App\Http\Controllers\Tools,并且不应包含您的类的文件名或名称。然后,您需要更改路线以指向班级Route::get('dashboard', 'Tools\DashBoardController@index');的名称。

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

如果您将使用来自同一命名空间的控制器的多个路由,您可能会从实施route group namespaces中受益。