我有这样的路由案例:
// Game
Route::get('game/p/{action}', 'GameController@getPage');
Route::get('game/e/{id}', 'GameController@edit');
Route::post('game/p/add', 'GameController@add');
// GameCategory
Route::get('gamecategory/p/{action}', 'GameCategoryController@getPage');
Route::get('gamecategory/e/{id}', 'GameCategoryController@edit');
Route::post('gamecategory/p/add', 'GameCategoryController@add');
// Deposit
Route::get('deposit/p/{action}', 'DepositController@getPage');
Route::get('deposit/e/{id}', 'DepositController@edit');
Route::post('deposit/p/update', 'DepositController@update');
从这里可以看出,代码非常重复,但某些模块只使用某些控制器,它们的路由模式类似。
我一直在谷歌搜索,发现Route::resource
可以缩短这个但我不知道如何在我的情况下实现它。有人能帮我吗?感谢
答案 0 :(得分:1)
由于您的路由架构似乎非常传统,因此没有可以实现您想要的帮助方法。您可以做的是编写自己的帮助函数,该函数采用路径名称('游戏','游戏类别','存款')和控制器名称('GameController'等)并生成您想要的路线从那起。
function _register_routes($path, $controller)
{
Route::get("{$path}/p/{action}", "{$controller}@getPage");
Route::get("{$path}/e/{id}", "{$controller}@edit");
Route::post("{$path}/p/add", "{$controller}@add");
}
_register_routes('game', 'GameController');
_register_routes('gamecategory', 'GameCategoryController');