我确信这个问题的解决方案正摆在我面前,但不幸的是,我似乎无法解决。我正试图为我的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中的工作方式是,命名空间必须反映目录结构,类名必须与其文件名匹配。
如果有多个路由使用来自同一命名空间的控制器,那么您可能会从实现路由组命名空间中受益。