如何在laravel路径文件中编写动态url方法?

我有一堆路线列表,下面提到供您参考。我必须把它做成动态的。如何在laravel路径文件中编写动态url方法?

例子:

第一套路线

Route::get('artists/info', '[email protected]'); 

Route::post('artists/records', '[email protected]');

Route::post('artists/action', '[email protected]');

Route::post('artists', '[email protected]');

Route::put('artists/update/{id}', '[email protected]');

Route::post('artists/update-status/{id}', '[email protected]');

第二套路线

Route::get('albums/info', '[email protected]'); 

Route::post('albums/records', '[email protected]');

Route::post('albums/action', '[email protected]');

Route::post('albums', '[email protected]');

Route::put('albums/update/{id}', '[email protected]');

Route::post('albums/update-status/{id}', '[email protected]');

看来两者的路线列表是除了关键字“专辑,艺术家一样, AlbumApiController,ArtistApiController“。所以我需要动态地通过传递必要的参数来重新使用该代码。所以它看起来像下面或任何语法让它成为。

grid('albums', 'AlbumApiController'); 

在此先感谢

回答:

你可以做这样的事情:

foreach (['artists' => 'ArtistApiController', 'albums' => 'AlbumApiController'] as $route => $controller) { 

Route::get($route . '/info', $controller . '@getInfo');

Route::post($route . '/records', $controller . '@postRecords');

Route::post($route . '/action', $controller . '@postAction');

Route::post($route, $controller . '@postAdd');

Route::put($route . '/update/{id}', $controller . '@postAdd');

Route::post($route . '/update-status/{id}', $controller . '@postUpdateStatus');

}

回答:

你真的需要它们是动态的?如果没有,那么我会建议将它们保留为现在的状态......基本上,路由文件为您提供了应用程序结构的简要概述,因此,尽可能让您的路线尽可能易读是一个不错的主意。

以上是 如何在laravel路径文件中编写动态url方法? 的全部内容, 来源链接: utcz.com/qa/265829.html

回到顶部