Zoeken…


Syntaxis

  • public function map (Router $ router) // Definieer de routes voor de toepassing.
  • beschermde functie mapWebRoutes (Router $ router) // Definieer de "web" -routes voor de applicatie.

parameters

Parameter hoofd
Router $ router \ Illuminate \ Routing \ Router $ router

Opmerkingen

Middleware betekent dat elke oproep naar een route door de middleware gaat voordat deze daadwerkelijk uw routespecifieke code raakt. In Laravel wordt de webmiddleware gebruikt om bijvoorbeeld sessie-afhandeling of de csrf-tokencontrole te waarborgen.

Er zijn standaard andere middlewares zoals auth of api. Je kunt ook eenvoudig je eigen middleware maken.

Api-routes toevoegen met andere middleware en standaard web middleware behouden

Sinds Laravel versie 5.2.31 wordt de webmiddleware standaard toegepast in de RouteServiceProvider ( https://github.com/laravel/laravel/commit/5c30c98db96459b4cc878d085490e4677b0b67ed)

In app / Providers / RouteServiceProvider.php vindt u de volgende functies die de middleware toepassen op elke route binnen uw 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');
    });
}

Zoals u ziet, wordt het middleware- web toegepast. Je zou dit hier kunnen veranderen. U kunt echter ook eenvoudig een ander item toevoegen om uw api-routes bijvoorbeeld in een ander bestand te plaatsen (bijv. 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');
    });
}

Hiermee kunt u eenvoudig api-routes scheiden van uw applicatieroutes zonder de rommelige groepswrapper binnen uw routes.php



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow