Ricerca…


Sintassi

  • mappa delle funzioni pubbliche (router $ router) // Definire i percorsi per l'applicazione.
  • funzione protetta mapWebRoutes (router $ router) // Definire i percorsi "web" per l'applicazione.

Parametri

Parametro Intestazione
Router $ router \ Illuminate \ Routing \ Router $ router

Osservazioni

Middleware significa che ogni chiamata a un percorso passerà attraverso il middleware prima di colpire effettivamente il codice specifico del percorso. In Laravel il middleware web viene utilizzato per garantire la gestione delle sessioni o il controllo del token csrf, ad esempio.

Di default ci sono altri media come auth o api. Puoi anche creare facilmente il tuo middleware.

Aggiunta di api-rotte con altri middleware e mantiene il middleware Web predefinito

Dal momento che Laravel versione 5.2.31 il middleware web è applicato di default all'interno del RouteServiceProvider ( https://github.com/laravel/laravel/commit/5c30c98db96459b4cc878d085490e4677b0b67ed)

In app / Provider / RouteServiceProvider.php troverai le seguenti funzioni che applicano il middleware su ogni percorso all'interno della tua 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');
    });
}

Come puoi vedere il web del middleware è applicato. Puoi cambiarlo qui. Tuttavia, puoi anche aggiungere facilmente un'altra voce per poter inserire i tuoi percorsi API per esempio in un altro file (ad esempio 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');
    });
}

Con questo puoi facilmente separare i percorsi API dai percorsi delle applicazioni senza il wrapper di gruppo disordinato all'interno del tuo route.php



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow