Suche…
Syntax
- public function map (Router $ router) // Definieren Sie die Routen für die Anwendung.
- geschützte Funktion mapWebRoutes (Router $ router) // Definieren Sie die "Web" -Routen für die Anwendung.
Parameter
Parameter | Header |
---|---|
Router $ router | \ Illuminate \ Routing \ Router $ router |
Bemerkungen
Middleware bedeutet, dass jeder Anruf auf einer Route die Middleware durchläuft, bevor er den routenspezifischen Code trifft. In Laravel wird die Web-Middleware verwendet, um beispielsweise die Sitzungsbehandlung oder die Überprüfung des csrf-Tokens sicherzustellen.
Es gibt standardmäßig auch andere Middlewares wie auth oder api. Sie können auch leicht Ihre eigene Middleware erstellen.
Hinzufügen von API-Routen mit anderer Middleware und Beibehalten der Standard-Web-Middleware
Seit der Laravel-Version 5.2.31 wird die Web-Middleware standardmäßig innerhalb des RouteServiceProvider angewendet ( https://github.com/laravel/laravel/commit/5c30c98db96459b4cc878d085490e4677b0b67ed).
In App / Providers / RouteServiceProvider.php finden Sie die folgenden Funktionen, die die Middleware auf jeder Route in Ihrer App / Http / routes.php anwenden
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');
});
}
Wie Sie sehen, wird das Middleware- Web angewendet. Sie könnten das hier ändern. Sie können jedoch auch problemlos einen weiteren Eintrag hinzufügen, um Ihre API-Routen beispielsweise in eine andere Datei (z. B. routes-api.php) zu kopieren.
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');
});
}
Mit diesem können Sie Ihre API-Routen leicht von Ihren Anwendungsrouten trennen, ohne den chaotischen Gruppen-Wrapper in Ihrer route.php