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



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow