我在使用子文件夹中的控制器路由时遇到问题。我尝试了Laravel Controller Subfolder routing中提出的解决方案,但我无法使其运行。laravel中的子文件夹路由5
文件夹结构
HTTP
Controllers
Admin
AdminControllers
User
UserControllers
BaseController
Admincontrollers在定义的 '应用程序\ HTTP \控制器\管理员' 命名空间
routes文件
Route::group(['middleware'=> 'admin','prefix' => 'admin'], function() {
Route::get('home', '[email protected]');
Route::get('home', 'Admin\[email protected]');
Route::resource('events', 'AdminEventController');
Route::resource('events', 'Admin\AdminEventController');
Route::get('myevents', '[email protected]');
Route::get('myevents', 'Admin\[email protected]');
Route::resource('groups', 'AdminGroupController');
Route::resource('users', 'AdminUserController');
});
这似乎不可思议,但它是只有这样才能保证它现在正常工作。 如果我删除
Route::get('myevents', 'Admin\[email protected]');
//errormessage Class App\Http\Controllers\AdminEventController does not exist
如果我删除
如果我把控制器控制器命名空间(而不是管理员之一) 我仍然获得
//errormessage Class App\Http\Controllers\AdminEventController does not exist
当只添加的路线是
Route::resource('events', 'AdminEventController');
你试过完全合格的控制器的名字吗?例如。 '路线:: get('home','App \ Http \ Controllers \ Admin \ AdminHomeController @ index');'我的猜测是Laravel(或者是composer自动加载器)试图猜测你指的是什么,它错了。 – Kryten
这并没有诀窍,但新的错误给了我一个想法,现在它已经修复 – JorenV