Laravel内核加载动态中间件阵列
希望编辑我的Kernel.php文件,并在应用程序中禁用一些就地中间件(我希望我的头响应很快,) 我有一些想法,但我不知道下一步是什么:Laravel内核加载动态中间件阵列,laravel,Laravel,希望编辑我的Kernel.php文件,并在应用程序中禁用一些就地中间件(我希望我的头响应很快,) 我有一些想法,但我不知道下一步是什么: class Kernel extends HttpKernel { public function __construct(Application $app, Router $router) { $url = \Illuminate\Http\Request::capture()->url(); if($u
class Kernel extends HttpKernel
{
public function __construct(Application $app, Router $router)
{
$url = \Illuminate\Http\Request::capture()->url();
if($url == 'http://autoservie.test/save'){
//HERE i want set protected $middlewareGroup and remove session
middleware from 'web'
}else{
// HERE set another protected $middlewareGroup
}
parent::__construct($app, $router);
}
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
'api' => [
'throttle:60,1',
'bindings',
],
];
问题是,如何在构造函数中设置动态受保护的$middlewareGroups数组?或者还有其他解决方案吗?您可以执行以下操作
$index = array_search(\Illuminate\Session\Middleware\StartSession::class, $middlewareGroups['web']);
unset($middlewareGroups['web'][$index]);
你可以这样做
$index = array_search(\Illuminate\Session\Middleware\StartSession::class, $middlewareGroups['web']);
unset($middlewareGroups['web'][$index]);
根据路由设置/取消设置不同的中间件组似乎是一种不好的做法。为什么不将中间件分配给您需要的路由,并将它们从全局中间件中移除呢?或者创建一个自定义的中间件组。根据路由设置/取消设置不同的中间件组看起来是一种不好的做法。为什么不将中间件分配给您需要的路由,并将它们从全局中间件中移除呢?或者创建自定义的middlewareGroup