Recherche…


Syntaxe

  • carte de fonction publique (routeur $ router) // Définit les routes pour l'application.
  • function protected mapWebRoutes (Router $ router) // Définit les routes "web" pour l'application.

Paramètres

Paramètre Entête
Routeur $ routeur \ Illuminate \ Routing \ Routeur $ routeur

Remarques

Le middleware signifie que chaque appel à un itinéraire passe par le middleware avant que vous n'atteigniez le code spécifique à votre itinéraire. Dans Laravel, le middleware Web est utilisé pour assurer la gestion des sessions ou la vérification du jeton csrf par exemple.

Il y a d'autres middlewares comme auth ou api par défaut. Vous pouvez également créer facilement votre propre middleware.

Ajout d'api-routes avec d'autres logiciels intermédiaires et conservation du middleware Web par défaut

Depuis la version 5.2.31 de Laravel, le middleware Web est appliqué par défaut dans le RouteServiceProvider ( https://github.com/laravel/laravel/commit/5c30c98db96459b4cc878d085490e4677b0b67ed)

Dans app / Providers / RouteServiceProvider.php, vous trouverez les fonctions suivantes qui appliquent le middleware sur chaque route de votre application / 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');
    });
}

Comme vous pouvez le voir, le web middleware est appliqué. Vous pourriez changer cela ici. Cependant, vous pouvez aussi facilement ajouter une autre entrée pour pouvoir mettre vos routes api par exemple dans un autre fichier (par exemple 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');
    });
}

Avec cela, vous pouvez facilement séparer les routes api de vos routes d'application sans l'enveloppe de groupe désordonnée dans vos routes.php



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow