![](/img/trans.png)
[英]Get all the Controller & resources from the routes.php in Laravel 5.2
[英]Laravel 5.2 web middleware group in routes.php is gone
我最近開始了一個新的laravel項目,並意識到route.php中的Web中間件組已經消失了。
雖然它似乎仍然使用它-因此我想問一下它的配置位置,因為它沒有在Kernel.php中作為默認中間件列出。
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\GeneaLabs\LaravelCaffeine\Http\Middleware\LaravelCaffeineDripMiddleware::class,
];
實際上,我問,因為我想創建一個additinal API來我的應用程序,所以我想不使用網絡中間件。
我實際上找到了答案。 此行為的根源在Map函數應用中間件的RouteServiceProvider中。
/**
* Define the routes for the application.
*
* @param \Illuminate\Routing\Router $router
* @return void
*/
public function map(Router $router)
{
$this->mapWebRoutes($router);
//
}
/**
* Define the "web" routes for the application.
*
* These routes all receive session state, CSRF protection, etc.
*
* @param \Illuminate\Routing\Router $router
* @return void
*/
protected function mapWebRoutes(Router $router)
{
$router->group([
'namespace' => $this->namespace, 'middleware' => 'web',
], function ($router) {
require app_path('Http/routes.php');
});
}
你在看哪里? 在默認的Kernel.php
它們仍然存在:
/**
* The application's global HTTP middleware stack.
*
* These middleware are run during every request to your application.
*
* @var array
*/
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
];
/**
* The application's route middleware groups.
*
* @var array
*/
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
],
'api' => [
'throttle:60,1',
],
];
然后在您的routes
甚至沒有默認web
,然后將其放置。
Route::group(['middleware' => ['web']],function(){
//your routes ...
});
或者,如果您不想在api端點中使用會話:
Route::group(['middleware' => ['api']],function(){
//your routes ...
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.