Laravel分组路由最佳前缀或中间件

Sha*_*imi 1 routing laravel laravel-routing laravel-middleware

当我开始考虑对路线进行分组并检查文档时。我在那里迷路了。前缀,中间件等东西太多了。

什么是组路线的最好方法是什么?

Route::group(['middleware' => 'admin'], function () {});

Route::group(['prefix' => 'admin'], function () {});

Route::group(['namespace' => 'admin'], function () {})
Run Code Online (Sandbox Code Playgroud)

哪种方法是最好的?又为什么呢?当用什么办法?

Lui*_*noz 6

等待。前缀和中间件是两回事

prefix 是前缀您的路线并避免不必要的输入的一种方法,例如:

Route::get('post/all','Controller@post');
Route::get('post/user','Controller@post');
Run Code Online (Sandbox Code Playgroud)

这可以使用前缀来分组 post

Route::group(['prefix' => 'post'], function(){
    Route::get('all','Controller@post');
    Route::get('user','Controller@post');
})
Run Code Online (Sandbox Code Playgroud)

在另一方面,中间件:

中间件为过滤进入您的应用程序的HTTP请求提供了一种方便的机制。例如,Laravel包含一个中间件,用于验证您的应用程序的用户是否已通过身份验证。如果用户未通过身份验证,则中间件会将用户重定向到登录屏幕。但是,如果用户通过了身份验证,则中间件将允许该请求进一步进入应用程序。

例如,现在使用上一个示例,我希望在我的发布路线中对用户进行身份验证。我可以像这样将中间件应用于该组:

Route::group(['prefix' => 'post', 'middleware' => ['auth']], function(){
        Route::get('all','Controller@post');
        Route::get('user','Controller@post');
    })
Run Code Online (Sandbox Code Playgroud)

您应该检查文档以获取更多信息。

https://laravel.com/docs/5.5/middleware

https://laravel.com/docs/5.5/routing#route-groups


Nae*_*jaz 5

两者都不同但同时使用两者的最佳技术分组路由中间件并为路由添加前缀避免不必要的输入

Route::group(['prefix' => 'admin','middleware' => ['auth:admin']], function() {
    Route::get('dashboard','AdminController@dashboard');
});
Run Code Online (Sandbox Code Playgroud)