Laravel为所有匹配的路由添加过滤器


Laravel add filter to all matching routes

是否可以向所有以模式"/admin"开头的类似路由添加过滤器,而无需手动添加数百次过滤器?

例如:

Route::get('admin/sometehing','controller1')->before('auth');
Route::get('admin/sometehingelse','controller2')->before('auth');
Route::get('admin/sometehingelse')->before('auth');
Route::get('admin/sometehingelse')->before('auth');
x1000

如果是这样,我该怎么办?

您可以使用Route::group();对具有前缀的路由进行分组,还可以应用适用于所有路由的筛选器。

Route::group(array('prefix'=>'admin', 'before' => 'auth'),function() {
Route::get('sometehing','controller1'); 
Route::get('sometehingelse','controller2');
....
} 

希望这能帮助

您可以使用Route Prefixing实现以下目的:

Route::group(array('prefix' => 'admin'), function() {
    Route::get('sometehing','controller1')->before('auth');
    Route::get('sometehingelse','controller2')->before('auth');
    Route::get('sometehingelse')->before('auth');
    Route::get('sometehingelse')->before('auth');
}