【Laravel5.4】routeの設定（web.php）


# web.phpの場所
- \app\routes\web.php

## 現状のroute設定を見る

```
vagrant@*****:~/app$ php artisan route:list
```

以下のような感じで見ることができます。

```
+--------+----------+--------------------------------------------+----------------+-------------------------------------------------------------------------+-----------------+
| Domain | Method   | URI                                        | Name           | Action                                                                  | Middleware      |
+--------+----------+--------------------------------------------+----------------+-------------------------------------------------------------------------+-----------------+
|        | GET|HEAD | /                                          |                | Closure                                                                 | web             |
|        | GET|HEAD | admin/home                                 | home           | App\Http\Controllers\Admin\HomeController@index                         | web,auth:admin  |
|        | POST     | admin/login                                |                | App\Http\Controllers\Admin\Auth\LoginController@login                   | web,guest:admin |
|        | GET|HEAD | admin/login                                | admin.login    | App\Http\Controllers\Admin\Auth\LoginController@showLoginForm           | web,guest:admin |
|        | GET|HEAD | admin/logout                               | admin.logout   | App\Http\Controllers\Auth\LoginController@logout                        | web             |
|        | POST     | admin/logout                               | admin.logout   | App\Http\Controllers\Admin\Auth\LoginController@logout                  | web             |
|        | GET|HEAD | admin/register                             | admin.register | App\Http\Controllers\Admin\Auth\RegisterController@showRegistrationForm | web,guest       |
|        | POST     | admin/register                             |                | App\Http\Controllers\Admin\Auth\RegisterController@register             | web,guest       |
|        | GET|HEAD | api/user                                   |                | Closure                                                                 | api,auth:api    |
+--------+----------+--------------------------------------------+----------------+-------------------------------------------------------------------------+-----------------+
```
  
  
## 静的なページを表示

```web.php
Route::get('/', function () {
    return view('welcome');
});
```

動き）
rootにアクセスした際に、**\app\resources\views** 以下の  **welcome.blade.php**を
Controllerを介さずに表示させています
  
  
## ディレクトリを分ける（例：ttp://root/AAAAA/index みたいにする時）

```web.php
Route::group(['prefix' => 'aaaaa'], function () {
    // groupでprefixを設定した場合、以下のように書ける
    Route::get('/index', 'AAAAA\***Controller@index')->name('index');
}
```
  

**->name('index');**を付けておくとview側でアクセス先を**{{ route('index') }}**と書くんだけで記述できる。
例）

```form.html
<form method="POST" action="{{ route('index') }}">
```
  
  
  
## ログイン後（認証）に表示させたいページの設定

```web.php
Route::group(['middleware' => 'auth'], function () {
    // 認証処理後に表示させたいページ
}
```
  
  
  
## マルチログイン実装時の設定

```web.php
Route::group(['middleware' => 'auth:***'], function () {
    // 権限***を持つ者の認証処理後に表示させたいページ
}
```
  

以下は設定の例になります。

```web.php
/* マルチログイン実装時例 */
Route::group(['middleware' => 'auth:user'], function () {
    // ユーザー側の認証処理後に表示させたいページ
}

Route::group(['middleware' => 'auth:admin'], function () {
    // 管理者側の認証処理後に表示させたいページ
}
```

※マルチログイン処理に関してはweb.php以外にも設定が必要ですがここでは割愛します。