サーチ…


構文

  • public function map(Router $ router)//アプリケーションのルートを定義します。
  • protected function mapWebRoutes(Router $ router)//アプリケーションの "Web"ルートを定義します。

パラメーター

パラメータヘッダ
ルータ$ルータ \ Illuminate \ Routing \ Router $ router

備考

ミドルウェアとは、あるルートへのすべてのコールが実際にルート固有のコードに当たる前にミドルウェアを経由することを意味します。 Laravelでは、Webミドルウェアがセッション処理やcsrfトークンチェックなどを保証するために使用されます。

デフォルトでauthやapiのような他のミドルウェアがあります。独自のミドルウェアを簡単に作成することもできます。

他のミドルウェアでapi-routesを追加し、デフォルトのWebミドルウェアを維持する

Laravelバージョン5.2.31以降、WebミドルウェアはRouteServiceProvider( https://github.com/laravel/laravel/commit/5c30c98db96459b4cc878d085490e4677b0b67ed)内でデフォルトで適用されます

app / Providers / RouteServiceProvider.phpでは、app / Http / routes.php内のすべてのルートにミドルウェアを適用する次の関数があります

public function map(Router $router)
{
    $this->mapWebRoutes($router);
}

// ...

protected function mapWebRoutes(Router $router)
{
    $router->group([
        'namespace' => $this->namespace, 'middleware' => 'web',
    ], function ($router) {
        require app_path('Http/routes.php');
    });
}

ご覧のとおり、 ミドルウェアの Webが適用されています。ここでこれを変更することができます。しかし、別のエントリを簡単に追加して、たとえばapiルートを別のファイルに入れることもできます(routes-api.phpなど)

public function map(Router $router)
{
    $this->mapWebRoutes($router);
    $this->mapApiRoutes($router);
}

protected function mapWebRoutes(Router $router)
{
    $router->group([
        'namespace' => $this->namespace, 'middleware' => 'web',
    ], function ($router) {
        require app_path('Http/routes.php');
    });
}

protected function mapApiRoutes(Router $router) 
{
    $router->group([
        'namespace' => $this->namespace, 'middleware' => 'api',
    ], function ($router) {
        require app_path('Http/routes-api.php');
    });
}

これにより、routes.php内の乱雑なグループラッパーなしでアプリケーションルートからapiルートを簡単に分離できます



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow