# 17. Route group
[上一篇](https://www.rails365.net/articles/ruby-cheng-xu-yuan-xue-xi-laravel-kuang-jia-bi-ji-16-yong-zhong-jian-jian-lai-xian-zhi-yong-hu-bi-xu-deng-lu) 文章讲到了如何创建中间件,创建完后我们接着使用了这个中间件,是这样用的:
```
// routes/web.php
Route::get('users', 'UsersController@index')->middleware('authenticated');
```
中间件名称为 `authenticated`,我们只是在 `users` controller 中的 `index` action 用这个中间件。
其实我们也可以在别的地方使用,比如下面这样:
```
Route::get('users', 'UsersController@index')->middleware('authenticated');
Route::get('profile', 'PagesController@profile')->middleware('authenticated');
Route::get('settings', 'PagesController@settings')->middleware('authenticated');
```
这样会重复写三次 `middleware('authenticated')`。
这一篇我们会讲如何重构这个代码,让它变得更可读一些。
我们使用了 `Route group` 的功能。
只要将上面的那三行代码改成下面这样就可以了。
```
Route::group(['middleware' => ['authenticated']], function() {
Route::get('users', 'UsersController@index');
Route::get('profile', 'PagesController@profile');
Route::get('settings', 'PagesController@settings');
});
```
完结。
- 0. 介绍
- 1. php 开发环境安装
- 2. 跑 laravel 的 hello world
- 3. 第一个路由 UsersController
- 4. 在数据库中创建一条数据
- 5. 简单的用户认证
- 6. 修改 User model
- 7. User model 的 getter 方法
- 8. view 的更多知识
- 9. 在 view 中共享变量
- 10. blade layout
- 11. 使用 @include 来整理 view
- 12. Blade if/else/unless/or
- 13. factories, faker and seeding
- 14. Blade foreach
- 15. 分页
- 16. 用中间件来限制用户必须登录
- 17. Route group
- 18. CURD 实践之改变用户表结构
- 19. CURD 实践之为新添加的属性修改注册功能
- 20. CURD 实践之用 username 来代替 email 登录
- 21. CURD 个人中心页面
- VIM 的 laravel 插件
- VIM 中有效地查看 php 源码