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