自Laravel v8以来,有趣的是可以使用
Route::controller(MyController::class)
...
https://laravel.com/docs/10.x/routing#route-group-controllers
在我的情况下,我改变了之前的Laravel v7代码。
Route::group(['prefix' => 'sample'], function ($router) {
Route::get('/', 'SampleController@index');
Route::get('/new', 'SampleController@create')->middleware('auth');
Route::post('/store', 'SampleController@store')->middleware('auth');
Route::group(['prefix' => '/edit'], function ($router) {
Route::get('/{number}', 'SampleController@edit')->middleware('auth');
Route::get('/{number}/{migrate?}', 'SampleController@edit')->middleware('auth');
Route::post('/', 'SampleController@store')->middleware('auth');
});
});
对于较少冗长的版本(例如v8或更高版本...在我的情况下是v10):
Route::controller(SampleController::class)->prefix('sample')->group(function () {
Route::get('/', 'index');
Route::get('/new', 'create')->middleware('auth');
Route::post('/store', 'store')->middleware('auth');
Route::prefix('/edit')->middleware('auth')->group(function () {
Route::get('/{number}', 'edit');
Route::get('/{number}/{migrate?}', 'edit');
Route::post('/', 'store');
});
});
然后运行
php artisan route:cache
然后运行
php artisan route:list
不再返回任何错误!-)
我不明白为什么每次都不能正常工作,例如:
->prefix。
Route::controller(LicenceController::class, function () {
Route::get('/licence', 'index')->middleware('auth');
Route::get('/licence/new', 'new')->middleware('auth');
Route::post('/licence/new', 'insert')->middleware('auth');
});
Api
文件夹内? - Kamlesh Paulcomposer dump-autoload
命令来实现,或者在您的RegisterController
中添加缺失的命名空间。 - STAcomposer dump-autoload
。 - Kamlesh PaulRoute::resource('xyz', App\Http\Controllers\XyzController::class);
- Muhammad Shahzad