# 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 源碼