Поиск…


Синтаксис

  • public function map (Маршрутизатор $ router) // Определение маршрутов для приложения.
  • защищенная функция mapWebRoutes (маршрутизатор $ router) // Определите «веб-маршруты» для приложения.

параметры

параметр заголовок
Маршрутизатор $ router \ Illuminate \ Routing \ Router $ router

замечания

Среднее программное обеспечение означает, что каждый вызов маршрута будет проходить через промежуточное программное обеспечение, прежде чем на самом деле нанести ваш маршрут конкретному коду. В Laravel сетевое промежуточное программное обеспечение используется для проверки сеанса или проверки маркера csrf, например.

По умолчанию есть другие middlewares, такие как auth или api. Вы также можете легко создать свое собственное промежуточное программное обеспечение.

Добавление api-маршрутов с другим промежуточным программным обеспечением и сохранение промежуточного ПО по умолчанию

Начиная с версии 5.2.31 Laravel, промежуточное программное обеспечение Интернета применяется по умолчанию в RouteServiceProvider ( https://github.com/laravel/laravel/commit/5c30c98db96459b4cc878d085490e4677b0b67ed)

В приложении / Providers / RouteServiceProvider.php вы найдете следующие функции, которые применяют промежуточное ПО на каждом маршруте в вашем приложении / 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');
    });
}

Как вы видите, применяется промежуточное web-приложение. Вы можете изменить это здесь. Тем не менее, вы также можете легко добавить еще одну запись, чтобы можно было разместить ваши маршруты api, например, в другой файл (например, route-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');
    });
}

С помощью этого вы можете легко отделить ваши маршруты api от маршрутов вашего приложения без беспорядочной групповой оболочки в пределах ваших маршрутов.php



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow