laravel5.5中的路由是很强大的,但是有的时候会显得比较麻烦,为了以后方便查阅,将路由的一些写法总结在此
路由分组的目的是让我们在多个路由中共享相同的属性,比如中间件和命名空间等,这样的话我们定义了大量的路由时就不必为每一个路由单独定义属性,共享属性以数组的形式作为第一个参数被传递给Route::group方法
1.中间件
要给某个路由分组中定义的所有路由分配中间件,可以在定义分组之前使用middleware方法,中间件将会按照数组中定义的顺序依次执行:
Route::middleware([‘first‘,‘second‘])->group(function(){ Route::get(‘/‘,function(){ //Uses first &second Middleware }); });
2.命名空间
路由器分组另一个例子是使用namespace方法分配同一个PHP命名空间给该分组下的多个控制器:
Route::namespace(‘Admin‘)->group(function(){ //控制器代码 });
3.路由前缀
prefix方法可以用来为分组中每一个路由添加一个给定的url前缀,例如你可以给分组中所有路由URL添加admin前缀
Route::prefix(‘admin‘)->group(function(){ Route::get(‘users‘,function(){ //URL链接 }); });
tips:如果使用组合方式,比如给路由前缀和命名空间都分配,只要再连续使用即可,如:
1 Route::prefix(‘admin‘)->group(function(){ 2 Route::namespace(‘Admin‘)->group(function(){ 3 Route::get(‘index/index‘,‘IndexController@index‘); 4 Route::get(‘index/welcome‘,‘IndexController@welcome‘); 5 }); 6 });
原文:https://www.cnblogs.com/ydoor/p/9291138.html