在我的laravel路由文件( many /web.php)中,有那么多路线。我想有办法让它更受欢迎。例如,Auth:: routes () --它的代码行--但它包含大约3-4条路由。那么,如何在我的web.php中创建这样的smth呢?
发布于 2018-11-05 08:58:19
您可以在控制器中创建一个静态函数,一定要定义要与控制器关联的路由。
static function routes() {
Route::group(array('prefix' => 'product'), function() {
Route::get('/{id?}', array('as' => 'product.index', 'uses' => 'ProductController@index'));
});
}
而不是这样称呼它:
\App\Http\Controllers\ProductController::routes();
发布于 2018-11-05 11:57:27
您可以在App/Providers/RouteServiceProvider.php
文件中注册其他路由文件。默认情况下,它包含API路由和web路由。您所要做的就是创建一个函数mapXyzRoutes()
(例如)并模仿mapWebRoutes()
函数中的代码。然后,将函数调用添加到map()
文件的RouteServiceProvider函数中。
您可以在这里添加中间件、前缀和名称空间,这确实有助于保持一个干净的路由文件。
当然,您还需要在/routes
目录中创建新文件。
发布于 2018-11-05 08:50:03
在没有看到代码的情况下,给出响应并不容易,但您可以检查以下内容:
https://laravel.com/docs/5.7/controllers#resource-controllers
例如,编写此Route::resource('photos', 'PhotoController');
将为您提供6条使用模型的路由。
如果你在你的模型上使用经典的"CRUD“路线,这是很有用的。
https://stackoverflow.com/questions/53150888
复制相似问题